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

调整plot.graph_objects.Sunburst的colorbar参数

解决Plotly Sunburst颜色条参数调整问题

你的问题核心是颜色条的配置层级错误:你尝试在layout.coloraxis_colorbar中设置参数,但Sunburst的颜色条属于其marker属性的子配置,需要直接通过marker.colorbar调整,而非全局的coloraxis。另外代码中存在笔误:data['color']应改为data['colors']。

修正后的完整代码

import plotly.graph_objects as go

data = dict(
    labels=["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"],
    parents=["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ],
    values=[10, 14, 12, 10, 2, 6, 6, 4, 4],
    colors=[1, 2, 3, 4, 5, 6, 7, 8, 9],
)

fig = go.Figure(go.Sunburst(
    labels=data['labels'],
    parents=data['parents'],
    values=data['values'],
    marker=dict(
        colors=data['colors'],  # 修正笔误
        colorscale='Blues',
        cmin=0,
        cmax=10,
        showscale=True,
        # 直接在此配置颜色条参数
        colorbar=dict(
            title='Color',
            tickvals=[0, 5, 10],
            ticktext=['low', 'middle', 'high'],
            tickfont=dict(size=12),  # 设置刻度字体大小
            nticks=3  # 设置刻度数量
        )
    )
))

fig.update_layout(
    margin=dict(t=0, l=0, r=0, b=0)
)

fig.show()

关键配置说明

  • 所有颜色相关配置直接嵌入Sunburst的marker参数中,无需事后修改fig.data[0].marker(当然也支持事后修改)
  • 通过marker.colorbar可直接设置颜色条的标题、刻度值、刻度文本、字体大小等所有参数

事后修改颜色条的方式

如果需要对已创建的图形调整颜色条参数,也可以用以下方式:

fig.data[0].marker.colorbar.update(
    title='Color',
    tickvals=[0, 5, 10],
    ticktext=['low', 'middle', 'high'],
    tickfont=dict(size=12),
    nticks=3
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:45:31