指定plot_date()的刻度格式?

时间:2014-01-04 14:47:30

标签: matplotlib

我正在使用:

matplotlib '1.1.1rc'
ipython 0.12.1
ipython notebook --pylab inline --no-browser

我生成一个图表:

xticks(rotation='vertical')
plot_date(ts, percent, xdate=True)

其中ts是跨越几天的日期时间列表。我明白了:

enter image description here

注意x轴;它只显示日期时间的时间部分。如何让它也显示日期?

2 个答案:

答案 0 :(得分:4)

如果您正在查看matplotlibs datetime的{​​{3}},如果您遵循类似的想法,那么您可以指示绘图工具如何格式化该行中的刻度线:

from matplotlib.dates import  DateFormatter
ax.xaxis.set_major_formatter( DateFormatter('%Y-%m-%d') )

将字符串更改为

"%Y-%m-%d %H:%M:%S" 

将有时间到他们的例子中的x刻度。

答案 1 :(得分:1)

Pandas,对于时间序列和数据分析来说非常棒,它有一个matplotlib包装器,可以为你完成大部分工作。在你的例子中你可能只是这样做:

import pandas as pd
df = pd.DataFrame(ts)  # to get your series into a pandas dataframe
df.plot()
plot.show()

它将优雅地处理日期格式和诸如此类 见http://pandas.pydata.org/pandas-docs/stable/visualization.html