当前位置: 首页 > news >正文

python --生成时间序列,作为横轴的标签。时间跨越2008-2022年,生成每年的6-10月的第一天作为时间序列

python 生成制定的时间序列作为绘图时x轴的标签

问题需求

  • 在绘图时,需要对于x轴的标签进行专门的设置,整体时间跨越2008年-2022年,将每年的6-10月的第一天生成一条时间序列,绘制成图。

解决思路

对于时间序列的生成,使用datetime和pandas这两个包:

  • datetime中文介绍
  • pandas date_range 官方介绍

具体思路如下:

  • 1、使用datetime模块创建起始年份和结束年份。
  • 2、然后,使用pandas的date_range函数生成从每年的6月1日到10月1日的时间序列。
  • 3、接着,我们筛选出每年的6-10月1日,并将时间序列格式化为字符串存储在标签列表中。
  • 4、最后,我们使用matplotlib的xticks函数将标签列表作为x轴标签,并使用rotation参数将标签旋转90度以避免重叠

代码实现

import pandas as pd
import datetime# 创建起始年份和结束年份
start_year = 2008
end_year = 2022# 创建每年6-10月1日的时间序列
dates = pd.date_range(start=f'{start_year}-06-01', end=f'{end_year}-10-01', freq='MS')# 筛选出每年的6-10月1日
filtered_dates = [date for date in dates if date.month in [6, 7, 8, 9, 10]]# 将时间序列格式化为字符串并存储在标签列表中
labels = [d.strftime('%Y-%m-%d') for d in filtered_dates]# 绘制图形并使用标签作为x轴
import matplotlib.pyplot as pltx = range(len(labels))
y = [i**2 for i in x]plt.plot(x, y)
plt.xticks(x, labels, rotation=90)plt.show()

结果展示

在这里插入图片描述- 间隔太密了,可以做适当修改

plt.xticks(x[::10], labels[::10], rotation=90)

在这里插入图片描述

  					欢迎评论或者加我交流,分享更简单的绘制方法~
http://www.lryc.cn/news/38112.html

相关文章:

  • 【Unity VR开发】结合VRTK4.0:创建一个按钮(Togglr Button)
  • lottie-miniprogram在taro+vue的小程序中怎么使用
  • C++回顾(二十二)—— stack容器 与 queue容器
  • 逻辑优化基础-disjoint support decomposition
  • 保姆级使用PyTorch训练与评估自己的DaViT网络教程
  • Java8新特性:Stream流处理使用总结
  • Java基准测试工具JMH高级使用
  • 问心 | 再看token、session和cookie
  • Ubuntu 安装 CUDA and Cudnn
  • 【漏洞复现】Grafana任意文件读取(CVE-2021-43798)
  • 磨金石教育摄影技能干货分享|春之旅拍
  • 中断以及 PIC可编程中断控制器
  • SecureCRT 安装并绑定ENSP设备终端
  • ESP32设备驱动-TCS3200颜色传感器驱动
  • < JavaScript小技巧:Array构造函数妙用 >
  • 【17】组合逻辑 - VL17/VL19/VL20 用3-8译码器 或 4选1多路选择器 实现逻辑函数
  • 2023年全国最新二级建造师精选真题及答案19
  • Java中的 this 和 super
  • ESP32设备驱动-红外寻迹传感器驱动
  • 初识BFC
  • 随想录二刷Day17——二叉树
  • Weblogic管理控制台未授权远程命令执行漏洞复现(cve-2020-14882/cve-2020-14883)
  • STM32F103CubeMX定时器
  • 多态且原理
  • 动态库(二) 创建动态库
  • opencv加水印
  • Flume基操
  • 图文详解红黑树,还有谁不会?
  • 多目标遗传算法NSGA-II原理详解及算法实现
  • Spark 键值对RDD的操作