修改Pandas每小时时间轴上的刻度数

时间:2013-11-16 11:11:09

标签: python matplotlib plot pandas time-series

如果我有使用Pandas数据帧的以下示例Python代码:

import pandas as pd
from datetime import datetime

ts = pd.DataFrame(randn(1000), index=pd.date_range('1/1/2000 00:00:00', freq='H', periods=1000), columns=['Data'])
ts['Time'] = ts.index.map(lambda t: t.time())
ts = ts.groupby('Time').mean()
ts.plot(x_compat=True, figsize=(20,10))

输出图是: enter image description here

让X-Axis刻度自动按小时或每小时自动分隔的最优雅方法是什么? x_compat=True没有影响

1 个答案:

答案 0 :(得分:3)

您可以传递ts.plot()参数xticks。给出正确的间隔时间,您可以按小时计算每小时一次:

max_sec = 90000

ts.plot(x_compat=True, figsize=(20,10), xticks=arange(0, max_sec, 3600))

ts.plot(x_compat=True, figsize=(20,10), xticks=arange(0, max_sec, 7200))

此处max_secxaxis的最大值,以秒为单位。