在python3上,我正在学习正式文件上太阳暴晒图的教程示例。
基于这个示例,我构建了与示例完全类似的DataFrame,并验证了数据的正确性。
现在,问题就在这里。如果像下面代码中所示的那样添加branchvalues='total',就会得到一个空白的白图。这意味着什么都不会被渲染。
fig.add_trace(go.Sunburst(
labels=df_all_trees['id'],
parents=df_all_trees['parent'],
values=df_all_trees['value'],
branchvalues='total',
marker=dict(
colors=df_all_trees['color'],
colorscale='RdBu'),
hovertemplate='<b>%{label} </b> <br></br> Allocated: %{value}',
name=''
))如果我删除branchvalues='total',如下面的代码所示,
fig.add_trace(go.Sunburst(
labels=df_all_trees['id'],
parents=df_all_trees['parent'],
values=df_all_trees['value'],
marker=dict(
colors=df_all_trees['color'],
colorscale='RdBu'),
hovertemplate='<b>%{label} </b> <br></br> Allocated: %{value}',
name=''
))我得到了一个相当扭曲的图表。

我做错了什么?
编辑添加的数据和代码
数据

csv中的相同数据
、id、父、值、颜色
0,税务规划,南太平洋,1.54,1.54
超级大道税务规划,8.46,8.46
2,税务规划,Bajaj Fin,8.75,8.75
Bandhan银行税务规划,2.75,2.75
4,税务规划,Bharti Airtel,1.74,1.74
5,税务规划,康明斯印度,1.5
Divi实验室税务规划,2.16,2.16
7,税务规划,耐久技术,0.86,0.86。
8,税务规划,H、F、C、4.9、4.9
9,税务规划,HDFC银行,6.35,6.35
ICICI银行税务规划,2.32,2.32
11,税务规划,Info Edg(印度),5.08,5.08
12,税务规划,Kotak Mah。银行,8.454707583,8.454707583
13,税务规划,MAS FINANC SER,0.74,0.74
14,税务规划,Maruti Suzuki,4.71,4.71
15,税务规划,Motherson Sumi,1.19,1.19
16 .税务规划,多通信。如,1.29,1.29
17,税务规划,雀巢印度,4.53,4.53
18,税务规划,CA净额及其他,1.1,1.1
19,税务规划,Pidilite指数,5.72,5.72
20,税务规划,Shree水泥,1.17,1.17
21,税务规划,Sundaram Fin.Hol,0.04,0.04
22,Sundaram Finance,税务规划,1.5,1.58
税务规划,交响曲,1.76,1.76
24,税务规划,TCS,6.17,6.17
25,税务规划,TTK保健,0.07,0.07
26,税务规划,TTK Prestige,2.0,2.07
27,税务规划,塔塔全球,0.52,0.52
28,税务规划,科技Mahindra,1.39,1.39
29,税务规划,洪流电力,3.61,3.61
30,税务规划,V-保卫指数,0.55,0.55
31,税务规划,WABCO印度,1.74,1.74
塑料制品,1.54,1.54
超级大道33号,贸易,8.46,8.46
34,Bajaj Fin.,Finance & Investments,8.75,8.75
35,班德汉银行,银行-私营部门,2.75,2.75
36,Bharti Airtel,电信-服务提供商,1.74
37,Cummins India,Engine,1.5
38,Divi's实验室,制药-印度-散装药物,2.16,2.16
39,耐久技术,汽车辅助设备,0.86,0.86
40、H、F、C,财政-住房,4.9
41,人类发展中心银行,银行-私营部门,6.35,6.35
42,ICICI银行,银行-私营部门,2.32,2.32
43,Info Edg.(印度),杂项,5.08,5.08
44岁,Kotak Mah。银行,银行-私营部门,8.454707583,8.454707583
45,MAS FINANC SER,Finance & Investments,0.74,0.74
46,Maruti Suzuki,汽车-乘用车,4.71,4.71
47,Motherson Sumi,Auto Ancillaries,1.19,1.19
48,多通信。附件,杂项,1.29,1.29
49,雀巢印度,食品加工-跨国公司,4.53,4.53
50,净CA及其他,净额CA及其他,1.1
51,青石指数,化学品,5.72,5.72
52,Shree水泥,水泥-北印度,1.17,1.17
53,Sundaram Fin.Hol,Finance & Investments,0.04,0.04
54,Sundaram Finance,Finance &Investments,1.5,1.58
家用电器,交响乐,1.76,1.76
56,TCS,计算机.软件-大型6.17 6.17
57,TTK保健,制药-印度-散装药物和Formln,0.07,0.07
58,TTK威望,家用电器,2.07,2.07
塔塔全球,茶叶,0.52,0.52
60,技术Mahindra,计算机-软件-大型,1.39,1.39
61,洪流电力,发电和供电,3.61,3.61
62,V-保护指数,电气设备,0.55,0.55
63,WABCO印度,自动辅助设备,1.74,1.74
64,汽车辅助设备,股票,3.78999999999996,3.7899999999999996
65,汽车-乘用车,股权,4.71,4.71
66,银行-私营部门,股票,19.874707583,19.874707583
67,水泥-印度北部,股票,1.17,1.17
68,化学品,公平,5.72,5.72
69,计算机-软件-大型,公平,7.56,7.56
70,家用电器,股权,3.83,3.83
71,电气设备,股权,0.55,0.55
72,发动机,股票,1.5,1.5
73,财务和投资,股票,11.11,11.11
74,金融-住房、公平,4.9
75,食品加工-跨国公司,股权,4.53,4.53
76,杂项,公平,6.37,6.37
77,净额CA及其他,净额CA及其他,1.1
78,制药-印度-散装药品,股票,2.16,2.16
79,制药-印度-散装药品& Formln,股票,0.07,0.07
80,塑料制品,股票,1.54,1.54
81,发电和供电,公平,3.61,3.61
82,茶,公平,0.52,0.52
83,电信-服务提供者,股权,1.74,1.74
84,交易,股票,8.46,8.46
85股,共计93.71470758299998 93.71470758299998
86,CA和其他净额,共计,1.1
87,共计,94.814707583,94.814707583
上述数据/ csv需要在称为alloc的数据文件中导入。
码
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import pandas as pd
df = alloc
average_score = df['PERC_HOLD'].sum()
fig = go.Figure()
fig.add_trace(go.Sunburst(
labels=df_all_trees['id'],
parents=df_all_trees['parent'],
values=df_all_trees['value'],
branchvalues='total',
marker=dict(
colors=df_all_trees['color'],
colorscale='RdBu',
cmid=average_score),
hovertemplate='<b>%{label} </b> <br> Sales: %{value}<br> Success rate: %{color:.2f}',
name=''
))
fig.update_layout(margin=dict(t=10, b=10, r=10, l=10))
fig.write_html("fig2.html")发布于 2020-07-27 13:12:16
在这种情况下,如果没有适当的数据样本,几乎不可能提供一个完整的解决方案。不过,我要测试的第一件事是设置
branchvalues="remainder"https://stackoverflow.com/questions/63084463
复制相似问题