Plotly 的 treemap 和 sunburst 显示错误的大小

Plotly's treemap and sunburst show wrong sizes

我正在尝试使用 plotly 的 sunburst 和 treemap 来可视化数据。但是,我发现子节点显示的大小与其父节点相比显示错误,即子节点的大小之和不包括父节点的大小:

import plotly.graph_objects as go

fig =go.Figure(go.Treemap(
    labels= ["i_1", "i_2", "c_a", "i_3", "c_b"],
    parents= ["c_a", "c_a", "", "c_b", ""], 
    values= [3, 2, 5, 2, 2],
))

fig.show()

输出:

如您所见,在原始数据中,i_1 和 i_2 的总和为 5,等于其父级 c_a 的 5。但在图表中, "c_a" 块没有被 i_1 和 i_2 一起填满。 i_3 和 c_b 也是如此。即使鼠标悬停弹出窗口显示正确的值。

旭日可视化也是如此:

import plotly.graph_objects as go

fig =go.Figure(go.Sunburst(
    labels= ["i_1", "i_2", "c_a", "i_3", "c_b"],
    parents= ["c_a", "c_a", "", "c_b", ""], 
    values= [3, 2, 5, 2, 2],
))

fig.show()

同样,i_1 和 i_2 并没有涵盖 c_a 的整个范围。

是为了逼迫剧情如实反映父子大小比例的设置。老实说,目前的表现形式不适合我的目的。

是,设置branchvalues="total"。默认值为 "remainder" ,它将值添加到子项的总和中,如您在图中所见。您也可以单独保留该设置并将所有非叶节点的值设置为 0。