2013-11-16 2 views
2

Если у меня есть следующий код примера Python с использованием пандой dataframe:Изменения количества тиков на панду почасовой оси времени

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 не оказывает воздействия

ответ

2

Вы можете перейти на 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_sec максимальное значение xaxis в секундах.

+0

Возможно, вы можете использовать 'max_sec = (ts.Data.keys() [- 1] .hour + 1) * 3600', чтобы автоматически получать максимальное значение' xaxis' в секундах –