python函数之xticks实现时间作为横坐标并按指定间隔显示

您所在的位置:网站首页 Python书写缩成一团 python函数之xticks实现时间作为横坐标并按指定间隔显示

python函数之xticks实现时间作为横坐标并按指定间隔显示

2024-07-02 23:23| 来源: 网络整理| 查看: 265

最近博主在绘制时间序列相关数据的序列图的时候,遇到了一个问题,就是数据量太大,将时间作为横坐标之后,横坐标太过密集,影响美观,因此要改进一下绘制的代码

首先定义一个长度与绘制的数据个数相同的存放时间字符串的列表。

time = ['2015/6/26', '2015/8/1', '2015/9/6', '2015/10/12', '2015/11/17', '2015/12/23', '2016/1/28', '2016/3/4', '2016/4/9', '2016/5/15', '2016/6/20', '2016/7/26', '2016/8/31', '2016/10/6', '2016/11/11', '2016/12/17', '2017/1/22', '2017/2/27', '2017/4/4', '2017/5/10', '2017/6/15', '2017/7/21', '2017/8/26', '2017/10/1', '2017/11/6', '2017/12/12', '2018/1/17', '2018/2/22', '2018/3/30', '2018/5/5', '2018/6/10', '2018/7/16', '2018/8/21', '2018/9/26', '2018/11/1', '2018/12/7', '2019/1/12', '2019/2/17', '2019/3/25', '2019/4/30', '2019/6/5', '2019/7/11', '2019/8/16', '2019/9/21', '2019/10/27', '2019/12/2', '2020/1/7', '2020/2/12', '2020/3/19', '2020/4/24', '2020/5/30', '2020/7/5', '2020/8/10', '2020/9/15', ]

然后就调用plot函数进行绘图,首先需要导入相关库

import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['KaiTi'] plt.rcParams['axes.unicode_minus'] = False plt.plot(time,data11,'o-b',label='猴子数量') plt.plot(time,data00,'o-r',label='老虎数据')

其中,plt.rcParams['font.sans-serif'] = ['KaiTi']是实现将图中的字体设置为中文楷体的功能;plt.rcParams['axes.unicode_minus'] = False是实现显示图中的负数的功能; 生成的结果图如下: 在这里插入图片描述 我们可以看到,横坐标的时间根本看不清楚,不仅影响美观性,还影响可读性,因此加上如下代码:

plt.xticks(range(1,len(time),4),rotation=45)

该代码中的range(1,len(time),4)是向函数传入一个列表,表示重新设置的横坐标,应该如何按照传入列表的规格绘制:从第一个数开始,一共显示原始横坐标长度len(time)个数,显示间隔为4,即每隔四个数显示一次横坐标;而rotation=关键字是实现将横坐标字体旋转一定角度的功能。 接下来运行一下看一下结果: 在这里插入图片描述 可以看到,现在的图就好看极了!若您觉得还是缺了点什么的话,就加上网格线,具体实现请看后续文章!



【本文地址】


今日新闻


推荐新闻


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