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

如何为pandas绘制的折线图按列分组配色并保留全部图例项

Pandas分组设置折线颜色实现方案

核心逻辑是利用DataFrame.plot()的color参数,按列顺序逐列指定线条颜色,同组列传入相同色值即可,全程不需要修改图例配置,会自动保留全部列的图例条目。

完整实现代码

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 构造测试数据集
x = pd.DataFrame(
    np.random.randn(5, 5),
    columns=['0', '1.1', '1.2', '2.1', '2.2']
)

# 按列顺序匹配颜色:
# 索引0对应列'0':单独使用蓝色
# 索引1、2对应列'1.1'/'1.2':统一使用橙色
# 索引3、4对应列'2.1'/'2.2':统一使用绿色
ax = x.plot(
    color=['#1f77b4', '#ff7f0e', '#ff7f0e', '#2ca02c', '#2ca02c']
)

plt.show()

注意事项

  • color传入的列表长度必须和DataFrame列数完全相等,顺序严格和df.columns的返回顺序一一对应,否则会出现颜色错位
  • 颜色值支持matplotlib所有合法颜色格式:十六进制色值、内置命名颜色(比如'red'/'blue')、0-1区间的RGB元组都可以使用
  • 该写法完全兼容pandas默认绘图的所有其他配置,比如线宽、线型、图例位置都可以正常传参调整,不会额外破坏原有绘图逻辑
  • 如果后续调整了DataFrame的列顺序,需要同步调整color列表的元素顺序,保证分组颜色匹配正确

默认绘图效果参考:
默认折线图效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 08:57:38