Plotting Pandas Datetime Timeseries in AM/PM format
我有一个包含时间戳索引的熊猫系列,我想绘制它。
1 2 3 4 5 6 7 | print example.head() 2015-08-11 20:07:00-05:00 26 2015-08-11 20:08:00-05:00 66 2015-08-11 20:09:00-05:00 71 2015-08-11 20:10:00-05:00 63 2015-08-11 20:11:00-05:00 73 |
但当我在熊猫中绘制它时:
1 2 | plt.figure(figsize = (15,8)) cubs1m.plot(kind='area') |
号
我希望Y轴上的值以AM/PM格式(8:08PM)显示,而不是军事时间(20:08)。有简单的方法吗?
另外,我该如何控制虱子和标记与熊猫的关系?
事先谢谢。
你的问题有两个要素:
轴方法:
1 2 3 4 5 | import matplotlib.pyplot as plt plt.plot(range(10), range(10)) plt.gca().set_xticks(range(0,10,2)) plt.gca().set_xticklabels(['a{}'.format(ii) for ii in range(0,10,2)]) |
要更改时间格式,请使用pd.datetime.strftime:如何将24小时时间转换为12小时时间?
1 2 3 4 5 | import pandas as pd data = pd.Series(range(12), index=pd.date_range('2016-2-3 9:00','2016-2-3 20:00', freq='H')) ax = data.plot(xticks=data.index[::2]) ax.set_xticklabels(data.index[::2].map(lambda x: pd.datetime.strftime(x, '%I %p'))) |
号
这个问题涵盖了用日期绘制的另一种方法:熊猫时间序列绘制设置X轴主刻度线和次刻度线和标签