如何将 x 轴上的日期显示为月份,例如“Jan”、“Feb”...“Dec”。而不是 2015-01、2015-02 等。我正在复制我的 df 的缩短版本。
我已阅读https://matplotlib.org/examples/api/date_demo.html并且不确定如何将其应用于我的数据。
或者,也许当我将日期映射到 pd.to_datetime 时,我可以以某种方式将它们转换为仅使用“%b”作为月份名称的月份?或者可以pd.date_range('2015-01-01','2016-01-01', freq='MS').strftime("%b").tolist()
在 xticks 中使用这些方面的东西?谢谢!
import matplotlib.pyplot as plt
df1 = pd.DataFrame({'Date':['2015-01-01','2015-01-02','2015-01-03','2015-01-04','2015-01-05'],'Values':[-13.3,-12.2,6.7,8.8,15.5]})
df1.Date=pd.to_datetime(df1.Date)
df1['Day']=pd.DatetimeIndex(df1['Date']).day
df1['Month']=pd.DatetimeIndex(df1['Date']).month
df1=df1[['Month','Day','Values']]
df1
df2=pd.DataFrame({'Date':['2015-01-01','2015-01-02','2015-01-03','2015-01-04','2015-01-05'],'Values':[-5.6,-5.6,0,3.9,9.4]})
df2['Day']=pd.DatetimeIndex(df2['Date']).day
df2['Month']=pd.DatetimeIndex(df2['Date']).month
df2=df2[['Month','Day','Values']]
df2
plt.figure(figsize=(10,6))
ax = plt.gca()
dates = np.arange('2015-01-01', '2015-01-06', dtype='datetime64[D]')
dates=list(map(pd.to_datetime, dates))
plt.plot(dates, df1.Values, '-^',dates, df2.Values, '-o')
ax.set_xlim(dates[0],dates[4])
x = plt.gca().xaxis
for item in x.get_ticklabels():
item.set_rotation(45)
plt.show()