You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中绘制XLS文件时间戳与温度列对比图的问题

没问题,我来帮你搞定这个时间戳和温度的绘图问题!通常踩坑的点都是时间戳没被正确转成可识别的日期时间格式,或者数据读取时没处理好。下面一步步来,包你解决:

解决方案步骤

1. 先装必要的工具库

首先得确保你电脑上装了这几个库:pandas用来读Excel数据,matplotlib负责绘图,还有xlrd专门处理.xls格式的文件(如果是.xlsx的话换成openpyxl就行)。打开终端跑这个命令:

pip install pandas matplotlib xlrd

2. 读取并预处理数据

用pandas读Excel的时候,一定要记得把timestamp列解析成datetime类型——这是绘图不出错的关键!直接看代码:

import pandas as pd
import matplotlib.pyplot as plt

# 替换成你的文件名,parse_dates参数会自动把timestamp列转成日期时间对象
df = pd.read_excel('你的数据文件.xls', parse_dates=['timestamp'])

# 可以先打印下数据类型,确认timestamp是datetime64类型
print(df.dtypes)

如果自动解析失败了,也可以手动强制转换,指定时间格式确保万无一失:

df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y-%m-%d %H:%M:%S')

3. 绘制时间-温度趋势图

数据处理好之后,绘图就很简单了,直接用matplotlib画折线图:

# 创建一个合适大小的画布
fig, ax = plt.subplots(figsize=(10, 6))

# 绘制折线,标记点让数据更清晰
ax.plot(df['timestamp'], df['temperature'], marker='o', linestyle='-', color='blue', label='Temperature')

# 设置轴标签和标题,让图更直观
ax.set_xlabel('Time')
ax.set_ylabel('Temperature')
ax.set_title('Temperature Change Over Time')

# 添加图例
ax.legend()

# 旋转x轴的时间标签,避免挤在一起
plt.xticks(rotation=45)

# 自动调整布局,防止标签被截断
plt.tight_layout()

# 显示图形
plt.show()

常见坑点排查

  • 如果temperature列是字符串格式(比如单元格里有空格或者其他字符),可以先转成数值类型:
    df['temperature'] = pd.to_numeric(df['temperature'], errors='coerce')
    
    这个命令会把无法转换的值变成NaN,你可以根据情况处理这些缺失值。
  • 如果x轴时间显示混乱,先确认timestamp列的类型是不是datetime64,再用plt.xticks(rotation=45)和plt.tight_layout()调整。

内容的提问来源于stack exchange,提问作者fahad pirzada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:18:05