matplotlib画X轴时间的显示问题

您所在的位置:网站首页 python绘制折线图横坐标怎么设置 matplotlib画X轴时间的显示问题

matplotlib画X轴时间的显示问题

2024-07-05 04:46| 来源: 网络整理| 查看: 265

很久没有在CSDN写博客了,非常地惭愧,在工作、学习上所遇到的难以越积越多,如果没有对问题进行有效的管理,不仅会使人心烦意乱不知所措,而且下次遇到同样的问题,又得四处找答案,浪费时间。废话又开始了。。。。。

今天遇到的问题为,在jupyter notebook上用matplotlib画一组与时间有关的数据,结果X轴的时间显示出现了点问题,主要代码片如下:

#画时间曲线的函数 def plot_curve1(data,title): plt.figure(figsize=(15,5)) plt.title(title) plt.plot(data,'o-') plt.show() data1,data2=read_data() #读取数据 print(data1.head(10)) #打印前10行数据 plot_curve1(data1,'data1') #画data1数据 12345678910

结果如下: 这里写图片描述从图中可以看出,x轴显示了5个时间点,但我想要显示每一天,即2014-09-01到2014-09-30。于是我百度了一下matplotlib的官方文档,了解到了xticks的用法,于是又修改了代码。 代码如下:

def plot_curve1(data,title): fig1 = plt.figure(figsize=(15,5)) plt.xticks(pd.date_range('2014-09-01','2014-09-30'),rotation=90)#设置时间标签显示格式 plt.title(title) plt.plot(data,'o-') plt.show() data1,data2=read_data() #读取数据 print(data1.head(10)) plot_curve1(data1,'data1') 12345678910

结果如下: 这里写图片描述从图中可以知道,虽然X轴显示了30天,但是显示有问题,不能显示月份和日期,所以又去百度了一下,发现一个非常有借鉴意义的博客,链接在此:Matplotlib绘图双纵坐标轴设置及控制设置时间格式 - 推酷,通过该博客,我又修改了代码,代码如下:

import matplotlib.dates as mdate def plot_curve1(data,title): fig1 = plt.figure(figsize=(15,5)) ax1 = fig1.add_subplot(1,1,1) ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))#设置时间标签显示格式 plt.xticks(pd.date_range('2014-09-01','2014-09-30'),rotation=90) plt.title(title) plt.plot(data,'o-') plt.show() data1,data2=read_data() #读取数据 print(data1.head(10)) plot_curve1(data1,'data1') 12345678910111213

结果如下: 这里写图片描述从图中可以看到,X轴的时间显示正常了。 最后,要注意一下代码的这一行,这一行是用来设置X轴的时间显示格式。

ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))#设置时间标签显示格式


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3