Plotly的树图和森伯斯特显示错误的大小

时间:2019-11-27 15:57:07

标签: python plotly visualization treemap sunburst-diagram

我正在尝试使用plotly的旭日形和树形图来可视化数据。但是,我发现子节点的大小比其父节点的大小错误,也就是说,子节点的总和不能覆盖父节点的大小。

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()

输出:

Treemap output

如您所见,在原始数据中,i_1和i_2的总和为5,等于其父c_a的5。但是在图中,“ i_1”和“ i_2”未一起填充“ c_a”块。 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()

sunburst graph

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

是用来强制性地真实表示父子尺寸比例的设置。老实说,当前的表示形式无法用于我的目的。

1 个答案:

答案 0 :(得分:2)

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