【发布时间】:2016-03-24 01:35:21
【问题描述】:
我想将 pandas DataFrame 绘制为 x 轴为 '%H:%M' 样式的折线图。
但是,当我尝试这个时:
import datetime
import pandas as pd
import numpy as np
d = pd.DataFrame([np.random.rand(3) for _ in range(9)])
d.index = [datetime.time(i, 0) for i in range(15,24)]
ax = d.plot(xticks=d.index)
plt.xticks([x.strftime("%H:%M") for x in d.index][0::4])
绘制带有 %H:%M:%s 样式 x 轴的图表:
在这个answer之后,我添加了DateFormatter:
import matplotlib.dates as md
d = pd.DataFrame([np.random.rand(3) for _ in range(9)])
d.index = [datetime.time(i, 0) for i in range(15,24)]
ax = d.plot(xticks=d.index)
#plt.xticks([x.strftime("%H:%M") for x in d.index][0::4])
ax.xaxis.set_major_formatter(md.DateFormatter('%H:%M'))
不幸的是,我得到了一个只有 00:00 x 轴的图。
我想获得带有适当间隔刻度标签的 %H:%M 样式 x 轴,例如“15:00、17:00、19:00、21:00”(此处每 2 个间隔)。我是如何意识到这一点的?
【问题讨论】:
标签: python pandas matplotlib plot