【发布时间】:2019-10-31 14:25:19
【问题描述】:
我需要创建一个图表,其中 x 轴是日期,y 轴是当天某个事件的频率。我用 plt.bar() 绘制的问题是,由于我在 8 年内每天都有值,因此 x 轴的标签太多而难以辨认。如何更改它以仅显示年份而不是每天都有标签?
我试过了
# data == dict, keys == 'yyyy-mm-dd'
plt.bar(data.keys(), data.values())
ticks = []
for key in data.keys():
ticks.append(key[0:4]) # Gets only years.
ticks = list(set(ticks)) # Get rid of duplicates.
plt.xticks(ticks)
plt.show()
但新的 xticks 最终会一个接一个地聚集在一起。
【问题讨论】:
-
删除
plt.xticks并将您的字符串转换为实际日期。 -
和日期对象一样?
-
使用 plt.xticks(rotation=45) 旋转刻度并适应它们。请参阅此以获取帮助stackoverflow.com/questions/11264521/…
-
转换为日期会改变实际的图表加载。轮换工作的日期太多了
标签: python matplotlib bar-chart seaborn