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

如何格式化数据以绘制按SerialNumber分组的带标记折线散点图

解决方案

1. 数据结构要求

你的原始数据需要整理为长表结构,仅保留3个核心字段即可:

  • StartTime:建议转成datetime时间类型,避免X轴排序错乱
  • AvgValue:数值类型,对应Y轴取值
  • SerialNumber:分组标签,用于区分不同折线和图例项

参考结构化数据样例:

StartTimeAvgValueSerialNumber
2024-01-01 08:00:0012.3SN001
2024-01-01 09:00:0015.6SN001
2024-01-01 08:00:009.2SN002

2. 代码实现(Python+pandas+seaborn)

首先安装所需依赖:
pip install pandas matplotlib seaborn

参考运行代码:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 读取数据,替换为你自己的数据源路径,支持csv/xlsx等格式
df = pd.read_excel("你的数据文件路径.xlsx")

# 转换StartTime为时间类型
df["StartTime"] = pd.to_datetime(df["StartTime"])

# 设置画布尺寸
plt.figure(figsize=(12, 6))

# 绘制带标记的分组折线图
sns.lineplot(
    data=df,
    x="StartTime",
    y="AvgValue",
    hue="SerialNumber",  # 按SerialNumber分组分配不同颜色
    marker="o",  # 散点标记样式
    linewidth=2,
    markersize=6
)

# 图表格式优化
plt.xticks(rotation=45)  # X轴标签旋转避免重叠
plt.xlabel("开始时间")
plt.ylabel("平均值")
plt.title("各序列号对应平均值随时间变化趋势")
plt.legend(title="序列号")
plt.tight_layout()  # 调整布局避免标签截断
plt.show()

3. Excel无代码实现方案

如果不想编写代码,用Excel也可以直接生成目标图表:

  1. 选中整理好的三列数据(StartTime、AvgValue、SerialNumber)
  2. 点击「插入」选项卡,选择「带数据标记的折线图」
  3. 右键图表选择「选择数据」,在「图例项(系列)」中点击「添加」,每个系列对应一个SerialNumber的所有AvgValue,水平轴标签选择对应的StartTime列即可
  4. 可手动调整每个系列的颜色、标记样式,自动生成对应图例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 17:15:10