将时间列表格式化为 24 小时格式以用作 xtick 标签



我有一个matplotlib图,值在y上,时间在x上。然而,xtick 标签的范围从 0 到 23,虽然正确,但我希望它们格式化为 0:00、1:00 等。

我从csv文件中读取数据并通过执行以下操作提取小时值:hour_counts = songs['hour'].value_counts().sort_index()返回如下列表:

0 574 1 399 2 225 3 135 23 734

然后绘制一个图形,并通过执行以下操作显示 xtick:

ax = hour_counts.plot() ax.set_xticks(hour_counts.index) ax.set_xticklabels(hour_counts.index, rotation=45)

这将创建一个类似于 https://i.stack.imgur.com/5wdDK.jpg 的图形

我想格式化 xtick 使它们看起来像时间,0:00、1:00、2:00 一直到 23:00。

谢谢

至少对于您发布的情节,您可以尝试的一个简单易行的技巧如下

ticklabels = ['%s:00' %i for i in range(24)]
ax.set_xticklabels(ticklabels, rotation=45)

还可以根据需要使用format来格式化刻度标签。

最新更新