Python 详细介绍:如何使用图形对象创建sunburst子地块?

Python 详细介绍:如何使用图形对象创建sunburst子地块?,python,plotly,sunburst-diagram,Python,Plotly,Sunburst Diagram,尝试了前面问题中的示例,但我无法使其正确“渲染”: # imports import pandas as pd import plotly.graph_objects as go import plotly.express as px # data df = pd.DataFrame({'BA': ['BA1', 'BA2', 'BA3', 'BA4','BA2'], 'RS': [12, 13,15, 20, 18],

尝试了前面问题中的示例,但我无法使其正确“渲染”:

# imports
import pandas as pd
import plotly.graph_objects as go
import plotly.express as px

# data
df = pd.DataFrame({'BA':  ['BA1', 'BA2', 'BA3', 'BA4','BA2'],
                   'RS':   [12, 13,15, 20, 18],
                   'RC':    ['medium','medium', 'high','high','high'] })

# plotly express figure
fig = px.sunburst(df, path=["BA", "RC"])

fig.show()

# plotly graph_objects figure
fig2=go.Figure(go.Sunburst(
                labels=fig['data'][0]['labels'].tolist(),
                parents=fig['data'][0]['parents'].tolist(),
                            )
                )
fig2.show()
结果:


我做错了什么?(我希望它看起来像第一张照片)。。使用conda+jupyter lab

如果您查看
图['data']
,您将看到一个名为
ids
的字段,该字段详细说明如何将父项连接到标签。您还需要将其指定为参数

编辑:如果希望以与px.sunburst相同的方式显示值,还需要包括参数
branchvalues='total'

# plotly graph_objects figure
fig2=go.Figure(go.Sunburst(
    branchvalues='total',
    ids=fig['data'][0]['ids'].tolist(),
    labels=fig['data'][0]['labels'].tolist(),
    parents=fig['data'][0]['parents'].tolist(),
    values=fig['data'][0]['values'].tolist()
    )
)
fig2.show()

谢谢你,德里克!没问题,很高兴能提供帮助:)Derek,当添加值(values=sbfig['data'][0]['values'].tolist())时,渲染再次“中断”,我仍然没有得到什么?:)这似乎很奇怪。。。有机会我会调查的!我认为,一般来说,如果您试图重新创建一个绘图仪,您应该始终查看
fig['data']
,以确保包括所有重要的内容。包括参数
branchvalues='total'
,您应该会得到预期的太阳爆发图。