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

如何按Pandas DataFrame的Type列配色绘制每行折线图

按Type列统一配色绘制多折线图

解决思路

放弃直接转置索引绘图的方式,改为按Type分组后为每个类型分配固定颜色,批量绘制组内所有折线:

  • 定义三种类型对应的颜色映射(可自定义)
  • 按Type列拆分数据
  • 遍历每个分组,用指定颜色绘制组内所有行的折线
  • 统一设置坐标轴标签与精简图例

修改后的代码

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
df = pd.read_csv('data.csv', sep=',')
# 自定义Type与颜色的映射关系,可按需调整颜色值
color_map = {'Type1': '#1f77b4', 'Type2': '#ff7f0e', 'Type3': '#2ca02c'}

# 创建绘图对象
fig, ax = plt.subplots(figsize=(7, 6))

# 按Type分组遍历,绘制同类型折线
for type_name, group in df.groupby('Type'):
    # 提取当前组的数值列(剔除Sample和Type列)
    group_data = group.drop(columns=['Sample', 'Type'])
    # 转置后绘制折线,指定当前Type对应的颜色
    group_data.T.plot(ax=ax, color=color_map[type_name], label=type_name, legend=False)

# 设置坐标轴标签
ax.set_ylabel('Absolute Power (log)', fontsize=12)
ax.set_xlabel('Frequencies', fontsize=12)
# 添加统一图例,每个Type仅显示一个条目
ax.legend(color_map.keys())

plt.show()

关键说明

  • 利用groupby('Type')拆分数据,确保同类型折线共用同一颜色
  • color_map支持十六进制色码、标准颜色名称等自定义配置
  • 关闭子图自动图例后统一添加,避免出现大量重复的图例条目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:05:43