matplotlib.dates.YearLocator()与df.plot()不兼容

时间:2019-12-08 17:49:03

标签: python pandas dataframe matplotlib

我有一个熊猫数据框,其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 一起使用?

0 个答案:

没有答案