我想显示每个月的缩写,以及每年的缩写.
我很近我目前遇到的问题是年份不正确.我发现这是numpy.datetime64(datetime索引采用这种格式)和python datetime(在1970年时代)之间存在的问题.图表上显示的两年应为2017年和2018年,但它们分别为48和49.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.dates import MonthLocator, WeekdayLocator, DateFormatter, YearLocator
indx = pd.date_range('2017-04-01', '2019-01-01')
s = pd.Series(np.random.randn(len(indx)), index=indx)
df = pd.DataFrame(s)
ax = df.plot()
months = MonthLocator(range(1, 13), bymonthday=1, interval=1)
monthsFmt = DateFormatter("%b")
years = YearLocator(1, month=4, day=1)
yrsFmt = DateFormatter("
%y")
ax.xaxis.set_major_locator(years)
ax.xaxis.set_major_formatter(yrsFmt)
ax.xaxis.set_minor_locator(months)
ax.xaxis.set_minor_formatter(monthsFmt)
plt.show()
如何在这里显示正确的年份?