如何使用pandas将5组温度时间序列数据绘制到同一张图中
用pandas绘制多组时间序列温度图的最简方案
首先把5个时间序列对象合并为同一个pandas DataFrame,统一时间索引,每列对应一组温度数据,列名直接设为你需要的标签,调用内置plot方法即可一键出图。
示例代码
import pandas as pd import matplotlib.pyplot as plt # 假设你的5组时间序列是pandas Series类型,索引为时间格式,分别命名为ts1~ts5 # 合并为DataFrame,字典的key就是对应数据的图例标签 df = pd.DataFrame({ "测点A": ts1, "测点B": ts2, "测点C": ts3, "测点D": ts4, "测点E": ts5 }) # 直接绘图,默认所有列都会绘制在同一张图,自动分配不同颜色、生成图例 df.plot( xlabel="时间", ylabel="温度(摄氏度)", title="24小时多测点温度对比" ) # 显示图像 plt.show()
特殊场景处理
如果你的原始数据不是pandas Series,是普通数值列表,只需要先给DataFrame设置统一的时间索引即可:
# 生成24小时的时间序列索引,freq可按需调整,1H为每小时1个点,15T为每15分钟1个点 time_idx = pd.date_range(start="2024-01-01 00:00:00", periods=24, freq="1H") df.index = time_idx
可选自定义配置
- 自定义线条样式:传入
style参数,比如style=["-", "--", "-.", ":", "-."]对应5条线的不同样式 - 自定义线条颜色:传入
color参数,比如color=["red", "blue", "green", "orange", "purple"] - 保存图片:在
plt.show()前调用plt.savefig("temp_compare.png", dpi=300)即可导出本地文件
内容的提问来源于stack exchange,提问作者goldenfish
相关产品推荐
相关产品推荐

