猿问

使用matplotlib在我的x轴上绘制时间,但是它从0开始,而不是实际的开始时间

我有一个包含时间数据的CSV文件,如下所示:


Time,Download,Upload

17:00,7.51,0.9

17:15,6.95,0.6

17:31,5.2,0.46


我将csv导入到pandas数据框中: df = pd.read_csv('speeds.csv', parse_dates=['Time'])


然后像这样绘制图形:


fig, ax = plt.subplots(figsize=(20, 7))

df.plot(ax=ax)

majorFmt = mdates.DateFormatter('%H:%M:')

minorFmt = mdates.DateFormatter('%H:%M:')

hour_locator = mdates.HourLocator()

min_locator = mdates.MinuteLocator(byminute=[15, 30, 45])

ax.xaxis.set_major_locator(hour_locator)

ax.xaxis.set_major_formatter(majorFmt)

plt.setp(ax.xaxis.get_majorticklabels(), rotation=90, fontsize=10)

ax.xaxis.set_minor_locator(min_locator)

ax.xaxis.set_minor_formatter(minorFmt)

plt.setp(ax.xaxis.get_minorticklabels(), rotation=90, fontsize=8)

但是,最终的图形像这样从00:00开始,尽管CSV文件从17:00开始:

图表怎么也不会从17:00开始?

另一个问题(虽然我在这里)是主要标签不与主要标记对齐,但它们稍微向左移,我该如何解决?


九州编程
浏览 125回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答