使用Pandas / matplotlib绘制每日均值时,更改日期时刻的格式

时间:2014-06-17 09:18:43

标签: python matplotlib plot pandas

我用标准差计算每日均值作为条形图。我的数据框看起来像这样:

                Ozone
2014-06-10  41.958586
2014-06-11  32.747222
2014-06-12  35.781250
2014-06-13  28.623264
2014-06-14  31.160764
2014-06-15  30.494444
2014-06-16  35.666667

[7 rows x 1 columns]

正如您所看到的,索引行很好地截断为每日日期。然而,当我尝试在条形图中绘制这个图时,七个条形图中的每个条形图都有完整的日期,然后是&00; 00:00:00'下。这可能是matplotlib试图变得聪明,但我无法弄清楚如何格式化索引,以便只显示每日日期。

看起来像这样:

2014-06-13 00:00:00

您对如何更改有任何建议吗?

2 个答案:

答案 0 :(得分:2)

一种可能性是,如果将日期转换为字符串,Pandas / Matplotlib将日期视为datetime值,那么您可以使用datetime.strftime方法控制格式。

答案 1 :(得分:2)

这样做:

formatted_ticks = mean.index.map(lambda t: t.strftime('%y-%m-%d %a'))
plot.set_xticklabels(formatted_ticks)

工作得很好。谢谢!