我有一个熊猫数据框,其DateTimeIndex的年度频率和要在线图中绘制的多列数据:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
df = pd.DataFrame(data=np.random.randint(1,10,(10,5)), index=pd.date_range('01-01-2010', '01-01-2019', freq='YS'), columns=['A', 'B', 'C', 'D', 'E'])
现在,我想使用matplotlib绘制数据,同时将x轴的主刻度线设置为每2年,将x轴的小刻度线设置为每1年:
fig, ax = plt.subplots()
major_xticks = mdates.YearLocator(2)
ax.xaxis.set_major_locator(major_xticks)
minor_xticks = mdates.YearLocator(1)
ax.xaxis.set_minor_locator(minor_xticks)
df.plot(kind='line', ax=ax)
但是,无论我如何设置日期定位器 YearLocator ,显示的图形中的xtick位置都不会改变。
我不知道原因。我是在做错什么还是 df.plot()语法不能与 matplotlib.dates 一起使用?