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

如何为Plotly折线图手动固定图例颜色(支持缺失类别)

固定Plotly折线图的图例颜色(含缺失类别场景)

要实现指定类别固定颜色,且缺失数据时颜色映射仍保持一致,只需通过Plotly Express的两个参数即可解决:

核心步骤

  • 定义固定颜色映射字典,将每个Sex类别绑定到目标颜色
  • 使用color_discrete_map强制应用颜色映射,同时用category_orders指定所有可能的类别,确保图例完整性

修改后的代码

import pandas as pd
import plotly.express as px

# 1. 定义固定颜色映射
color_map = {
    'Male': 'green',
    'Female': 'blue',
    'Other': 'yellow'
}

# 2. 声明所有可能的Sex类别,保证图例始终包含这三个选项
all_sex_categories = ['Male', 'Female', 'Other']

df = pd.DataFrame(...)  # 你的原始数据

lineplot = px.line(
    df, 
    x="Date", 
    y='Ct', 
    color='Sex',
    color_discrete_map=color_map,  # 强制使用自定义颜色
    category_orders={'Sex': all_sex_categories},  # 固定类别顺序与图例完整性
    title="Lineplot to keep track of people across time"
)

lineplot.show()

参数说明

  • color_discrete_map:直接指定每个类别对应的颜色,优先级高于Plotly默认配色,确保出现的类别颜色完全符合预期
  • category_orders:明确列出所有可能的Sex值,即使某类别无数据,图例中仍会保留该选项并显示对应颜色,避免因数据缺失导致颜色分配混乱

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:35:43