【问题标题】:Creating a bar chart with specific labels创建带有特定标签的条形图
【发布时间】: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


【解决方案1】:

您可以指定刻度标签和位置。 pyplot.xticks([0, 0.5, 1, 1, 1], ('A', 'B', 'C', 'D', 'E')) 结果:

还有pyplot.xticks(numpy.arange(5), ('A', 'B', 'C', 'D', 'E')):

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 2014-07-04
    • 2015-10-06
    • 2017-05-08
    相关资源
    最近更新 更多