Сюжет: как сделать так, чтобы крайнее кольцо фигуры солнечных лучей не было более светлого оттенка?

Когда бы я ни делал диаграмму солнечных лучей Plotly (я использую Python), крайний «круг» или кольцо намного светлее остальных колец солнечных лучей. Как сделать так, чтобы цвет этого кольца был таким же, как и у остальной части таблицы?

Как видите, сегмент Bb5 светлее остальных.

Я использую стандартный код Plotly sunburst. Простой пример (все равно будет светлее):

import plotly.graph_objects as go

fig =go.Figure(go.Sunburst(
    labels=["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"],
    parents=["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ],
    values=[10, 14, 12, 10, 2, 6, 6, 4, 4],
))
# Update layout for tight margin
# See https://plotly.com/python/creating-and-updating-figures/
fig.update_layout(margin = dict(t=0, l=0, r=0, b=0))

fig.show()

person Destaq    schedule 30.04.2020    source источник


Ответы (1)


Ты ищешь:

leaf=dict(opacity=1)

Это устанавливает непрозрачность листьев. При заданной шкале цветов по умолчанию используется 1, в противном случае - 0.7.

Сюжет 1: leaf=dict(opacity=1)

введите здесь описание изображения

Теперь сравните это с:

Сюжет 2: leaf=None

Теперь непрозрачность по умолчанию равна 0.7.

введите здесь описание изображения

И посмотрите, что произойдет, если вы укажете значение для colorscale:

Сюжет 3: colorscale='RdBu'

Если вы опустите аргумент листа, значение по умолчанию opacity = 1 для листьев:

введите здесь описание изображения

И, наконец, вы можете использовать оба способа с colorscale и leaf=dict(opacity=0.2). Я просто устанавливаю здесь очень низкую непрозрачность, чтобы прояснить мысль:

введите здесь описание изображения

Вот полный код искомого случая:

import plotly.graph_objects as go

fig =go.Figure(go.Sunburst(
    labels=["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"],
    parents=["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ],
    values=[10, 14, 12, 10, 2, 6, 6, 4, 4],
    leaf=dict(opacity=1),
    #marker=dict(colorscale='RdBu')
))

fig.update_layout(margin = dict(t=0, l=0, r=0, b=0))

fig.show()
person vestland    schedule 30.04.2020
comment
Вопрос для @vestland: знаете ли вы, есть ли способ использовать leaf или другой атрибут для управления непрозрачностью различных колец на диаграмме солнечных лучей? Я был бы особенно заинтересован в способе установить полную непрозрачность центрального и крайних колец, но оставить промежуточные кольца более светлого оттенка. Другими словами, есть ли способ настроить непрозрачность ветки? - person magnawhale; 24.07.2020