我正在使用plotly graph_objects 创建旭日图来可视化一些分层数据,但是在我当前的图表中:
每个家长(完整分数、生态、经济和社会)都有一个额外的空楔子,这是我不想要的。
以下是我用来生成图表的列表(放入数据框中以便于阅读):
代码:
fig = Figure()
fig.add_trace(Sunburst(
labels=labels,
parents=parents,
values=values,
text=scores,
marker=dict(
colors=scores,
colorscale='tealgrn',
cmid=0),
hovertemplate='<b>%{label} </b> <br> Score: %{text}',
name='Visualization Criteria Catalogue'
))
fig.update_layout(margin = dict(t=0, l=0, r=0, b=0))
我理想的输出是相同的图,只是没有空格。
我对代码中的 add_trace 没有太多经验。但是,我遇到了与您相同的问题,修复我的图表的方法是将
branchvalues='total'
添加到旭日图,如下所示。我在任何地方都没有名为“total”的数据,这是一种设置。有关其工作原理的参考和更好的解释,请参阅 plotly 文档中的此页面,其中指出:
值:设置与旭日扇形相关的值,确定其宽度(有关设置宽度的不同模式,请参阅下面的分支值部分)。
import plotly.express as px
data = dict(
labels=["carbon-free", "carbon", "wind", "solar", "hydro", "thermal", "coal"],
parents=["", "", "carbon-free", "carbon-free", "carbon-free", "carbon", "carbon"],
percentage=[carbon_free_total, carbon_total, wind, solar, hydro, thermal, coal],
)
df = pd.DataFrame(data)
fig = px.sunburst(
df,
labels=df['labels'],
names=df['labels'],
parents=df['parents'],
values=df['percentage'],
branchvalues='total',
)
我正在使用plotly express,但我相信这也适用于绘制图形对象,因为这就是他们在文档中使用的内容。