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

Plotly go.Bar()如何按分类标签手动指定柱状图柱条颜色

Plotly 按分类名给柱状图指定专属颜色实现方案

在plotly.graph_objects中无需通过数值映射颜色,直接给go.Bar组件传入与x轴分类顺序一一对应的marker_color参数,即可为每个分类的柱条单独设置颜色。

实现代码

先定义分类与目标颜色的映射关系,再按照x轴的分类顺序生成对应颜色列表传入即可,修改后的完整可运行代码如下:

import plotly.graph_objects as go

tensions = {
    'Supportive': 39,
    'Neutral': 27,
    'Resistant': 34
}

# 配置每个分类对应的专属颜色
color_map = {
    'Supportive': 'green',
    'Neutral': 'gold', # 若需要纯黄色可替换为'yellow'
    'Resistant': 'red'
}

items = tensions.items()
x = [item[0] for item in items]
y = [item[1] for item in items]
# 按x轴分类顺序匹配对应颜色
bar_colors = [color_map[category] for category in x]

fig = go.Figure()
fig.add_trace(
    go.Bar(
        x=x,
        y=y,
        width=0.2,
        marker_color=bar_colors
    )
)

fig.update_layout(
    template='simple_white',
    paper_bgcolor='#F9F9FA',
    plot_bgcolor='#F9F9FA',
    height=200,
    margin=dict(
        t=20, b=20, l=60, r=40
    ),
)

fig.update_yaxes(
    tickformat=',.0%',
)
fig.show()

注意事项

  • 传入marker_color的颜色列表顺序必须和x轴分类顺序完全一致,即可精准匹配对应柱条,不受柱条数值大小影响
  • 颜色参数支持多种格式:内置颜色名、十六进制色值、rgb/rgba色值都可以正常识别,可根据视觉需求替换
  • Python 3.7及以上版本字典默认保留插入顺序,只要分类和颜色映射关系配置正确,即使后续调整分类顺序,代码也会自动匹配对应颜色,无需手动调整颜色顺序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 12:21:34