如何在matplotlib中的x轴上舍入日期格式

时间:2016-02-09 14:47:02

标签: python matplotlib plot

我试图绘制两条填充之间的曲线,一旦我有这两个"情节",我的x轴变得奇怪。

这是我的MWE:

import matplotlib.pyplot as plt
from matplotlib import dates as mdates
import datetime
import numpy as np

dates=[u'0600', u'0630', u'0700', u'0730', u'0800', u'0830', u'0900', u'0930', u'1000', u'1030']#["0800","0830","0900"]

x=[datetime.datetime.strptime(h,'%H%M') for h in dates]
y=np.arange(len(x))
tmin=y/2.
tmax=y*2.

fig, ax = plt.subplots()
ax.plot(x,y,'r')
ax.fill_between(x,tmin,tmax)

hfmt = mdates.DateFormatter('%H:%M')
ax.xaxis.set_major_formatter(hfmt)

fig.autofmt_xdate()
plt.savefig('plot.png')
plt.show()

Plot with bad x-axis

其中x轴应该是

Plot with good x-axis

可以通过评论plotfill_between命令行之一轻松获得。

如何知道如何在第一个数字中使用第二个x轴?

1 个答案:

答案 0 :(得分:3)

最简单的方法可能是使用

ax.x_axis.set_major_locator(mdates.MinuteLocator(byminute=[0,30]))