pandas:如何在df.plt()中很好地格式化时间戳轴标签?

时间:2016-10-12 15:49:48

标签: python pandas matplotlib

我有一个如下所示的数据集:

          prod_code      month  items      cost
0  040201060AAAIAI 2016-05-01      5    572.20 
1  040201060AAAKAK 2016-05-01    164  14805.19  
2  040201060AAALAL 2016-05-01  13465  14486.07   

执行df.dtypes表示month列是datetime64[ns]类型。

我现在试图绘制特定产品的每月费用:

df[df.bnf_code=='040201060AAAIAI'][['month', 'cost']].plot()
plt.show()

这样可行,但x轴不是我期望的时间戳:

enter image description here

如何使用月份和年份标签很好地格式化x轴标签?

更新:我也试过这个,得到一个条形图,它在x轴上输出时间戳,但是用了很长的笨重的格式:

df[df.bnf_code=='040201060AAAIAI'].plot.bar(x='month', y='cost', title='Spending on 040201060AAAIAI')

1 个答案:

答案 0 :(得分:2)

如果将日期设置为索引,则应正确标记x轴:

df[df.bnf_code=='040201060AAAIAI'][['month', 'cost']].set_index('month').plot()

我只是在您的代码中添加了set_index