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

如何使折线图线条颜色与Division(颜色命名)名称对应匹配?

问题:让折线图线条颜色与Division名称一致

我一直在尝试绘制7个Division(blue、green、grey、orange、purple、red、yellow)每月的'Sales'均值折线图。以下是代码片段:

subset_sales = (df_2.pivot_table(index=['Response Month (YYYY-MM)'],
                                 columns='Division', values='Sales')
                .reset_index()
                .set_index('Response Month (YYYY-MM)')
                )
subset_sales.plot(kind='line', rot=90)
plt.tight_layout()
plt.show()

当前生成的折线图线条为默认配色,无法与Division名称对应。请问如何确保每个Division的折线颜色与其名称一致,即blue部门对应蓝色线条,yellow部门对应黄色线条?


解决方案

只需创建一个颜色映射字典,将每个Division名称映射到Matplotlib支持的对应颜色名称,再在绘图时传入该字典即可:

import matplotlib.pyplot as plt

# 定义颜色映射:键为Division名称,值为对应颜色
color_map = {
    'blue': 'blue',
    'green': 'green',
    'grey': 'grey',
    'orange': 'orange',
    'purple': 'purple',
    'red': 'red',
    'yellow': 'yellow'
}

subset_sales = (df_2.pivot_table(index=['Response Month (YYYY-MM)'],
                                 columns='Division', values='Sales')
                .reset_index()
                .set_index('Response Month (YYYY-MM)')
                )

# 绘图时指定color参数为颜色映射字典
subset_sales.plot(kind='line', rot=90, color=color_map)
plt.tight_layout()
plt.show()

说明:

  • Pandas的plot()方法支持通过color参数接收字典,会自动根据列名(即Division名称)匹配对应的颜色
  • 确保颜色映射字典包含所有需要绘制的Division,未包含的Division会使用默认配色

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:11:11