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

如何绘制单个CSV文件中分组的独立数据集?

解决方案:按分组绘制独立子数据集折线图

你的代码存在两个核心问题:一是未将数值列转换为浮点类型(读取后time和value是字符串,会导致绘图逻辑异常);二是未按分组过滤数据,直接绘制了全部数据。以下是修正后的实现方案:

步骤1:优化数据读取与类型转换

用Pandas直接读取CSV文件,自动处理表头并转换数值类型,比手动用csv模块更高效:

import pandas as pd
import matplotlib.pyplot as plt

# 直接读取CSV,自动识别表头,指定数值列类型
df = pd.read_csv('HR_data.csv', dtype={'Time(float)': float, 'Value (float)': float})
# 重命名列名简化后续操作
df.rename(columns={'Data Set (string)': 'Data_Set', 'Time(float)': 'Time', 'Value (float)': 'Value'}, inplace=True)

步骤2:绘制指定分组的折线图

情况1:将多个指定分组绘制在同一张图中

比如绘制data_name1和data_name3:

# 定义需要绘制的分组列表
target_groups = ['data_name1', 'data_name3']

# 遍历每个分组,过滤数据后绘图
for group in target_groups:
    group_data = df[df['Data_Set'] == group]
    # 按时间排序(确保折线顺序正确)
    group_data_sorted = group_data.sort_values('Time')
    plt.plot(group_data_sorted['Time'], group_data_sorted['Value'], label=group)

# 添加图表元素
plt.xlabel('Time (sec)')
plt.ylabel('Value')
plt.title('Selected Data Groups Plot')
plt.legend()  # 显示分组标签
plt.show()

情况2:为每个指定分组单独生成图表

比如为data_name2和data_name5各生成一张图:

target_groups = ['data_name2', 'data_name5']

for group in target_groups:
    group_data = df[df['Data_Set'] == group].sort_values('Time')
    plt.figure()  # 创建新的图表窗口
    plt.plot(group_data['Time'], group_data['Value'])
    plt.xlabel('Time (sec)')
    plt.ylabel('Value')
    plt.title(f'Data Plot: {group}')
    plt.show()

步骤3:可选:绘制所有分组的图表

如果需要一次性查看所有10个分组的折线图,可以用groupby批量处理:

# 按Data_Set分组,遍历每个分组绘图
for name, group in df.groupby('Data_Set'):
    group_sorted = group.sort_values('Time')
    plt.plot(group_sorted['Time'], group_sorted['Value'], label=name)

plt.xlabel('Time (sec)')
plt.ylabel('Value')
plt.title('All Data Groups Plot')
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')  # 把图例放在图表外侧避免遮挡
plt.tight_layout()  # 自动调整布局
plt.show()

关键说明

  • 必须对每个分组的时间列排序,否则折线会因为数据无序出现乱跳的情况
  • 用df[df['Data_Set'] == group]精准过滤目标分组数据,避免混绘其他数据集
  • Pandas的read_csv比手动读取CSV更简洁,且能自动处理数值类型转换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:15:11