为了账号安全,请及时绑定邮箱和手机立即绑定

如何在只有 1 个中心节点的旭日图中正确使用“percentParent”?

如何在只有 1 个中心节点的旭日图中正确使用“percentParent”?

慕后森 2023-03-22 17:00:28
所以我正在尝试构建一个 Plotly sunburst 图,percentParent为图中的每个元素显示。这适用于所有元素,除非我只有一个中央节点/环/其他选项(请参见下面的示例)由于中心节点显然没有父节点,因此它似乎会出错并显示percentParent来自该texttemplate字段的括号内的调用。但是,如果有 2 个(或更多)中央节点,它会自动计算每个中央节点占两者总和的百分比。我的问题是:当我只有 1 个中心节点时,我如何才能只为中心节点隐藏此字段或使其正确显示“100%”?示例代码:import pandas as pdimport plotly.graph_objects as godf = pd.DataFrame({'node_names': ['Center', 'Yes', 'No'],                   'node_parent': ['', 'Center', 'Center'],                   'node_labels': ['Center', 'Center_Yes', 'Center_No'],                   'node_counts': [1000, 701, 299]})fig = go.Figure(       data=go.Sunburst(        ids=df["node_names"],        labels=df["node_labels"],         parents=df["node_parent"],        values=df["node_counts"],        branchvalues="total",        texttemplate = ('%{label}<br>%{percentParent:.1%}'),    ),)fig.show()
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

在这里我找到了阅读帮助的可能方法go.Sunburst.texttemplate?


import pandas as pd

import plotly.graph_objects as go


df = pd.DataFrame({'node_names': ['Center', 'Yes', 'No'],

                   'node_parent': ['', 'Center', 'Center'],

                   'node_labels': ['Center', 'Center_Yes', 'Center_No'],

                   'node_counts': [1000, 701, 299]})


fig=go.Figure(

    data=go.Sunburst(

        ids=df["node_names"],

        labels=df["node_labels"], 

        parents=df["node_parent"],

        values=df["node_counts"],

        branchvalues="total",

        texttemplate = ('%{label}',

                        '%{label}<br>%{percentParent:.1%}',

                        '%{label}<br>%{percentParent:.1%}',

                        '%{label}<br>%{percentParent:.1%}'),

    ),

)


fig.show()

//img1.sycdn.imooc.com//641ac3de0001333b06040391.jpg

texttemplate您最终可以修改as中的第一个元素'%{label}<br>100%'



查看完整回答
反对 回复 2023-03-22
  • 1 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信