如图,横轴是一组时间序列的日期,用matplotlib.dates的monthlocator('%m')表示为月,纵轴是时间序列的值。结果在12月后面多了一个1月,而且怎么删也删不掉,包括设置monthlocator的内部参数bymonthday也没用。于是我怀疑是数据的问题,但是数据看上去也很正常。求问如何把最后一个01删掉?
代码:
fig = plt.figure(figsize = [10, 5])
ax = fig.add_subplot(1, 1, 1)
ax.plot(df_2.loc[:, '2022'], color = 'red', linestyle = 'solid', label = '2022')
ax.plot(df_2.loc[:, '2021'], color = 'grey', linestyle = 'solid', label = '2021')
ax.plot(df_2.loc[:, '2020'], color = 'pink', linestyle = 'dashed', label = '2020')
ax.plot(df_2.loc[:, '2019'], color = 'black', linestyle = 'dashed', label = '2019')
plt.xticks(rotation='horizontal')
ax.xaxis.set_major_locator(MonthLocator())
ax.xaxis.set_major_formatter(DateFormatter('%m'))
ax.set_ylim([0, 19000])
plt.figtext(0.85, 0.825, df_type, fontsize = 'large',
horizontalalignment = 'right',
verticalalignment = 'top')
plt.figtext(0.115, 0.925, '万吨', fontsize = 'large',
horizontalalignment = 'right',
verticalalignment = 'top')
ax.legend(loc = 'best', bbox_to_anchor = (0.75, 1.095), borderpad=0.5, labelspacing=0.5, ncol = 4)
成图:
下面是数据: