下面的情節Matplotlib忽略時區
import matplotlib
f= plt.figure(figsize=(12,4))
ax = f.add_subplot(111)
df.set_index('timestamp')['values'].plot(ax=ax)
ax.xaxis.set_major_locator(matplotlib.dates.HourLocator(interval=1))
ax.xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%I'))
plt.show()
呈現在錯誤的區(GMT)的小時,即使我有:
> df['timestamp'][0]
Timestamp('2014-09-02 18:37:00-0400', tz='US/Eastern')
由於事實上,如果我註釋掉線:
ax.xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%I'))
小時顯示在正確的時區。
爲什麼?
也許試試'ax.xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%I','US/Eastern')' – mixedmath 2014-09-03 23:14:16
@mixedmath我剛試過,它崩潰了我的安裝(所有軟件包和Python的最後版本3 with conda) - – 2014-09-03 23:27:03
爲什麼downvote? – 2014-09-04 20:39:30