我有一个想逐年绘制的时间序列.我希望数据是每日的,但轴将每个月显示为“ Jan”,“ Feb”等.
目前,我可以获取每日数据,但轴为1-366(一年中的一天).
或者我可以将月度轴设置为1、2、3等(通过将索引更改为df.index.month),但是数据为月度.
如何将一年中的日轴转换为月?或者我该怎么做?
显示每日数据的代码,但轴错误:
# importimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt# create fake time serIEs dataframeindex = pd.date_range(start='01-Jan-2012',end='31-12-2018',freq='D')data = np.random.randn(len(index))df = pd.DataFrame(data,index,columns=['Data'])# pivot to get by day in rows,then year in columnsdf_pivot = pd.pivot_table(df,index=df.index.dayofyear,columns=df.index.year,values='Data')df_pivot.plot()plt.legend(loc='center left',bBox_to_anchor=(1,0.5))plt.show()
最佳答案这可以使用xticks function完成.只需在plt.show()之前添加以下代码即可:plt.xticks(np.linspace(0,365,13)[:-1],('Jan','Feb' ... 'Nov','Dec'))
或将以下名称包含在月份的中间:
plt.xticks(np.linspace(15,380,'Dec'))
总结 以上是内存溢出为你收集整理的Python将轴上的年日期转换为月 全部内容,希望文章能够帮你解决Python将轴上的年日期转换为月 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)