matplotlib画时间(小时为间隔)序列坐标

本文介绍如何利用Python中的Matplotlib库来绘制时间序列图表,并展示了如何设置日期格式及定位器来实现精确的时间轴显示。
部署运行你感兴趣的模型镜像
from datetime import datetime
import matplotlib.dates as mdates
import matplotlib.pyplot as plt

dates = ['2016010106','2016010107','2016010108','2016010109','2016010110','2016010111','2016010112','2016010113',
         '2016010114','2016010115','2016010116','2016010117','2016010118']
#把string格式的日期转换成datetime格式
xs = [datetime.strptime(d, '%Y%m%d%H') for d in dates]
ys = ['36','29','26','22','29','38','48','55','56','60','55','48','51']

fig = plt.figure()
ax = fig.add_subplot(1,1,1)
#指定X轴的以日期格式(带小时)显示
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y%m%d%H'))
#X轴的间隔为小时
ax.xaxis.set_major_locator(mdates.HourLocator())
plt.plot(xs, ys)
plt.gcf().autofmt_xdate()  
plt.show()

运行结果如下:
这里写图片描述

**如果天为间隔,修改如下:
xs = [datetime.strptime(d, ‘%Y%m%d%H’).date() for d in dates]
ax.xaxis.set_major_formatter(mdates.DateFormatter(‘%Y%m%d’))
ax.xaxis.set_major_locator(mdates.DayLocator())**

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Matplotlib 是处理和可视化时间序列数据的强大工具,以下是其处理时间序列数据的方法和示例: ### 方法 - **日期格式转换**:将字符串格式的日期转换为 `datetime` 格式,以便 Matplotlib 能够正确识别和处理时间序列数据。 - **设置坐标格式**:使用 `matplotlib.dates` 模块中的 `DateFormatter` 和 `Locator` 类来设置 X 的日期显示格式和间隔。 - **绘制时间序列图**:使用 `plt.plot()` 函数绘制时间序列数据的折线图。 - **自动调整 X 日期**:使用 `plt.gcf().autofmt_xdate()` 函数自动调整 X 日期的显示,避免日期重叠。 ### 示例 以下是一个使用 Matplotlib 处理和可视化时间序列数据的示例代码: ```python from datetime import datetime import matplotlib.dates as mdates import matplotlib.pyplot as plt # 定义日期和对应的数值 dates = ['2016010106', '2016010107', '2016010108', '2016010109', '2016010110', '2016010111', '2016010112', '2016010113', '2016010114', '2016010115', '2016010116', '2016010117', '2016010118'] # 把 string 格式的日期转换成 datetime 格式 xs = [datetime.strptime(d, '%Y%m%d%H') for d in dates] ys = ['36', '29', '26', '22', '29', '38', '48', '55', '56', '60', '55', '48', '51'] # 创建图形和子图 fig = plt.figure() ax = fig.add_subplot(1, 1, 1) # 指定 X 的以日期格式(带小时)显示 ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y%m%d%H')) # X 间隔小时 ax.xaxis.set_major_locator(mdates.HourLocator()) # 绘制时间序列图 plt.plot(xs, ys) # 自动调整 X 日期 plt.gcf().autofmt_xdate() # 显示图形 plt.show() ``` 该示例展示了如何将字符串格式的日期转换为 `datetime` 格式,并使用 Matplotlib 绘制时间序列折线图,同时设置了 X 的日期显示格式和间隔,避免日期重叠 [^3]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值