Matplotlib主要和次要刻度线不同步

时间:2018-09-10 16:03:28

标签: python matplotlib

我的代码如下:

fig, ax = plt.subplots(figsize=(8,5))
hours = dates.HourLocator(interval = 2)
h_fmt = dates.DateFormatter('%H:%M')

ax.plot(times, y_values)

xmin, xmax = plt.xlim()
xmin_0 = math.ceil(xmin) # Rounding up to start of day
ax.set_xlim(xmin_0,)

ax.xaxis.set_major_locator(hours)
ax.xaxis.set_major_formatter(h_fmt)
ax.xaxis.set_minor_locator(mdates.MinuteLocator(interval=20))

问题在于,如图所示,主要和次要x刻度似乎未对齐。

我尝试将x轴设置为从0开始,它不会自动执行,但无济于事。

'times'是日期时间数组,格式为:'2018-02-04 00:00:00'

enter image description here

1 个答案:

答案 0 :(得分:1)

interval指定间隔,但不指定起点。因此,宁愿指定要打勾的分钟,

ax.xaxis.set_minor_locator(mdates.MinuteLocator(byminute=(0,20,40)))

enter image description here