如何在matplotlib中设置日期的xticklabels

如何在matplotlib中设置日期的xticklabels,第1张

概述我试图从两个列表中绘制值. x轴值是日期.到目前为止尝试过这些事情 year = [20070102,20070806,20091208,20111109,20120816,20140117,20140813]yvalues = [-0.5,-0.5,-0.75,-0.75,-0.5,-1.25,-1.25]dates = [datetime.datetime.strptime(str(in 我试图从两个列表中绘制值. x轴值是日期.到目前为止尝试过这些事情

year = [20070102,20070806,20091208,20111109,20120816,20140117,20140813]yvalues = [-0.5,-0.5,-0.75,-1.25,-1.25]dates = [datetime.datetime.strptime(str(int(date)),'%Y%m%d') for date in year]fig,axes = plt.subplots(1,1,figsize=(16,9),dpi=100)line1,= axes.plot(dates,yvalues,lw=2,marker='*',color='r')axes.legend([line1],['VALUES'],loc=1)axes.grID()axes.set_xlabel('YEAR')axes.set_ylabel('VALUES')yticks = [-2.0,-1.75,-1.5,-1.0,-0.25,0.0]axes.set_yticks(yticks)axes.set_yticklabels(["$%.2f$" % y for y in yticks]);axes.set_xticks(dates)#axes.set_xticklabels()

这个数字似乎很好.但是无法正确标记x轴.
我试图用2007-01-02或2007年1月的标签来标记x轴.

提前致谢

解决方法 您可以使用 DateFormater控制日期的格式:

import matplotlib.dates as mdatesxfmt = mdates.DateFormatter('%Y-%m-%d')axes.xaxis.set_major_formatter(xfmt)
import datetime as DTimport numpy as npimport matplotlib.pyplot as pltimport matplotlib.dates as mdatesyear = [20070102,-1.25]dates = [DT.datetime.strptime(str(int(date)),0.0]axes.set_yticks(yticks)axes.set_yticklabels(["$%.2f$" % y for y in yticks]);xfmt = mdates.DateFormatter('%Y-%m-%d')axes.xaxis.set_major_formatter(xfmt)axes.set_xticks(dates)plt.xticks(rotation=25)plt.show()

产量

总结

以上是内存溢出为你收集整理的如何在matplotlib中设置日期的xticklabels全部内容,希望文章能够帮你解决如何在matplotlib中设置日期的xticklabels所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1193294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存