我要在x轴上绘制一些带有日期时间数据的数据,并分别使用主要和次要标签的格式。使用3.1.1版时,我找不到一种以主要间隔显示主要和次要刻度标签的方法。
MWE:
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
print(mpl.__version__)
time = pd.date_range(start='2013-11-08 12:00',end='2013-11-09 12:00',freq='10min')
np.random.seed(12345)
u = pd.Series(np.random.random_sample(len(time)), index=time)
fig,ax = plt.subplots()
ax.plot(u.index, u)
ax.set_xlim((time[0],time[-1]))
ax.xaxis.set_minor_locator(mdates.HourLocator(byhour=range(24),interval=3))
ax.xaxis.set_minor_formatter(mdates.DateFormatter('%H%M'))
ax.xaxis.set_major_locator(mdates.AutoDateLocator(minticks=2,maxticks=3))
ax.xaxis.set_major_formatter(mdates.DateFormatter('\n%Y-%m-%d'))
fig.savefig('test_{:s}.png'.format(mpl.__version__))
之前(matplotlib版本3.0.2): version 3.0.2
之后(matplotlib版本3.1.1): version 3.1.1
我还尝试将主格式设置更改为mdates.DateFormatter('%H%M\n%Y-%m-%d')
,但不幸的是标签在垂直方向上未对齐。
有人有别的想法/建议吗?谢谢!