Python 如何格式化datetimeindex?

Python 如何格式化datetimeindex?,python,pandas,matplotlib,formatting,datetimeindex,Python,Pandas,Matplotlib,Formatting,Datetimeindex,我正在用一个15分钟的datetimeindex在几年内绘制一个数据框的条形图。 使用此代码: df_Vol.resample('A',how='sum').plot.bar(title='Sums per year', style='ggplot', alpha=0.8) 不幸的是,X轴上的刻度现在显示为完整的时间戳,如下所示:2009-12-31 00:00:00 我更愿意保持绘图代码的简短,但我找不到一种简单的方法将时间戳格式设置为绘图的年份(2009…2016) 有人能帮忙吗?由于无法

我正在用一个15分钟的datetimeindex在几年内绘制一个数据框的条形图。 使用此代码:

df_Vol.resample('A',how='sum').plot.bar(title='Sums per year', style='ggplot', alpha=0.8)
不幸的是,X轴上的刻度现在显示为完整的时间戳,如下所示:
2009-12-31 00:00:00

我更愿意保持绘图代码的简短,但我找不到一种简单的方法将时间戳格式设置为绘图的年份(
2009…2016


有人能帮忙吗?

由于无法在Pandas df.plot()中格式化日期,我决定创建一个新的数据框并从中绘图

下面的解决方案对我有效:

df_Vol_new = df_Vol.resample('A',how='sum')
df_Vol_new.index = df_Vol_new.index.format(formatter=lambda x: x.strftime('%Y')) 
ax2 =df_Vol_new.plot.bar(title='Sums per year',stacked=True, style='ggplot', alpha=0.8)
我想另一种方法(更好,至少对我来说)是将以下内容添加到
df\u Vol\u new.plot()
命令中:

plt.legend(df_Vol_new.index.to_period('A'))

这样,您可以保留
df_Vol_new.index
datetime格式,同时获得更好的绘图。

请参阅相关内容:感谢EdChum,我希望在df.plot()命令中有一个类似(“%Y”)的参数来格式化此格式。