如何在matplotlib中设置日期的xticklabels
发布时间:2020-12-20 11:40:31 所属栏目:Python 来源:网络整理
导读:我试图从两个列表中绘制值. 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 d
我试图从两个列表中绘制值. 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轴. 提前致谢 解决方法
您可以使用
DateFormater 控制日期的格式:
import matplotlib.dates as mdates xfmt = mdates.DateFormatter('%Y-%m-%d') axes.xaxis.set_major_formatter(xfmt) import datetime as DT import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates year = [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() 产量 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |