Итак, я пытаюсь построить график солнечных лучей Plotly, который отображает percentParent
для каждого элемента на графике. Это отлично работает для всех элементов, за исключением случаев, когда у меня есть только один вариант для центрального узла/кольца/что угодно (см. пример ниже)
Поскольку центральный узел, очевидно, не имеет родителя, он, кажется, выдает ошибку и отображает заключенный в квадратные скобки вызов percentParent
из поля texttemplate
. Однако, если есть 2 (или более) центральных узла, он автоматически вычисляет процент каждого из них.
Мой вопрос: когда у меня есть только 1 центральный узел, как я могу либо скрыть это поле только для центрального узла, либо заставить его правильно отображать 100%?
Пример кода:
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}<br>%{percentParent:.1%}'),
),
)
fig.show()