如何解决Matplotlib x轴日期到日期时间格式
我有一个matplotlib数字,显示了来自几年数据的每天的最高和最低温度。我当前的xaxis是此数据的索引,因此是365个数据点。我想将其更改为在x轴而不是索引上显示月份的位置。
我可以通过哪些方式做到这一点?
以下是我的Jupyter笔记本绘图单元中的代码。 “”“
plt.figure(figsize=(16,10))
plt.xlabel('Day of Year',fontsize=20)
plt.ylabel('Temperature (℃)',fontsize=20)
plt.title('Ten Year Record (2005-2014) Near Ann Arbor,Michigan',fontsize=25)
plt.plot(max_04to15.values,c = 'red',label ='Record High')
plt.plot(min_04to15.values,c = 'blue',label ='Record Low')
#plt.plot(mean_04to15.values,c = 'black',label = 'Average Temp')
plt.scatter(break_max.index.tolist(),break_max['Data_Value_y'].values,marker = "^",label = "Broken High in 2015")
plt.scatter(break_min.index.tolist(),break_min['Data_Value_y'].values,marker = "v",c = 'orange',label = "Broken Low in 2015")
plt.gca().fill_between(range(len(max_04to15)),np.array(max_04to15.values.reshape(len(min_04to15.values),)),np.array(min_04to15.values.reshape(len(min_04to15.values),facecolor='#2F99B4',alpha=0.25)
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['right'].set_visible(False)
plt.legend(loc = 'best',fontsize=18,frameon = False)
plt.show()
“”“
解决方法
一种方法是,您可以使用numpy创建日期时间数组:
ax.fill_between(np.arange('2019-01-01','2020-01-01',dtype='datetime64[D]'),upper,lower,facecolor='#2F99B4',alpha=0.25)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。