我有一个带有时间戳索引的熊猫系列,我想绘制。
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
但是当我在熊猫中用它绘制它时:
plt.figure(figsize = (15,8))
cubs1m.plot(kind='area')
我希望y轴上的值以AM / PM格式(晚上8:08)显示,而不是军事时间(20:08)。有一个简单的方法吗?
另外,我如何控制蜱的数量和用熊猫绘制的标签数量?
提前致谢。
答案 0 :(得分:1)
您的问题有两个要素:
轴方法set_xticks
,set_yticks
,set_xticklabels
和set_yticklabels
控制刻度线和标签:
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:How can I convert 24 hour time to 12 hour time?
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')))
此问题涵盖了使用日期绘图的另一种方法:Pandas timeseries plot setting x-axis major and minor ticks and labels