python - Pandas 绘图 : How to format datetimeindex?

标签 python pandas matplotlib formatting datetimeindex

我正在用几年来的 15 分钟日期时间索引的数据框绘制条形图。 使用此代码:

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)

关于python - Pandas 绘图 : How to format datetimeindex?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39081327/

相关文章:

python - @property 装饰器在 Python 中是如何工作的?

python - 为颜色图和颜色条中的两个(或更多)特定值添加单独的颜色

python - 使用 pandas df 突出显示热图中每列的平均值数据单元格的自定义颜色

python - 在 pandas 中映射数据框中的组名称

python - 第一次写入 CSV 文件后跳过标题(Python)

python - 使用 DBSCAN 聚类过程的奇怪结果

Python在Mac上运行matplotlib.nxutilspoints_inside_poly

python - 如何获取 Google Books API 中的类别列表?

python - Scrapy 教程只爬一页 - 尝试了当前 SO 答案页面中的所有内容

Python 正则表达式无法找到模式 - 在 Apache Spark 上使用 pyspark