首页 > 解决方案 > 创建带有特定标签的条形图

问题描述

我需要创建一个图表,其中 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 在最后一个接一个地聚集在一起。

标签: pythonmatplotlibbar-chartseaborn

解决方案


您可以指定刻度标签和位置。pyplot.xticks([0, 0.5, 1, 1, 1], ('A', 'B', 'C', 'D', 'E'))结果是: 在此处输入图像描述

并且pyplot.xticks(numpy.arange(5), ('A', 'B', 'C', 'D', 'E'))在此处输入图像描述


推荐阅读