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

Jupyter Notebook中Sunburst图表无法正常渲染问题求助

解决Plotly Sunburst双层图表不渲染的问题

核心问题排查

Sunburst图表能不能正常渲染,核心看层级关联关系有没有设置对。你这种第一层正常、第二层不显示的情况,大概率是parents参数没正确关联到第一层节点,或者数据格式不符合Plotly要求,和颜色设置关系不大。

常见错误点

你可能踩了这些坑:

  • 第二层节点的parents没设为第一层的标签"population"
  • labels、parents、values三个列表的长度不一致
  • 没给第二层节点配置对应的权重值values

正确实现代码示例

直接用下面的代码替换你的变量就能运行,完全符合你的需求:

import plotly.express as px

# 定义层级标签
labels = ["population", "num_safe_hood1", "num_safe_hood2", "num_safe_hood3", "num_safe_hood4", "num_safe_hood5"]
# 父节点关联:根节点父节点为空,第二层全部关联到population
parents = ["", "population", "population", "population", "population", "population"]
# 替换成你的实际权重数值
values = [100, 20, 30, 15, 25, 10]

# 生成Sunburst图表
fig = px.sunburst(
    names=labels,
    parents=parents,
    values=values,
    # 可选:自定义颜色
    color_discrete_sequence=px.colors.qualitative.Pastel
)

fig.show()

关键参数说明

  • parents列表里,根节点"population"的父节点必须是空字符串""
  • 所有第二层节点的父节点都要设为"population",明确层级归属
  • values里的数值决定每个扇形的大小,根节点数值可以设为第二层的总和,也可以随便填(Plotly会自动按比例展示)

新手实用技巧

  1. 调试优先
    • 先打印labels、parents、values的长度,确保三者完全一致
    • 先只用2个第二层节点测试,确认能显示后再补全所有分类
  2. 颜色设置失效解决
    如果自定义颜色没生效,直接用color_discrete_map指定单个节点颜色:
    color_discrete_map={
        "population": "#ff7f0e",
        "num_safe_hood1": "#1f77b4"
    }
    

入门学习建议

  • 先啃Plotly官方文档里的Sunburst基础示例,重点看层级数据结构部分
  • 用Plotly在线编辑器直接修改官方示例,快速试错理解参数作用
  • 尝试用CSV格式的层级数据导入,熟悉结构化数据的处理逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 20:41:03