Вложенная круговая диаграмма с переменным количеством подразделов в каждом разделе.Python

Программы на Python
Ответить
Anonymous
 Вложенная круговая диаграмма с переменным количеством подразделов в каждом разделе.

Сообщение Anonymous »

Я использую: https://matplotlib.org/stable/gallery/p ... d_pie.html
НО я подаю ему неровный массив в виде маскированного массива (посредством заполнения нулями), превращая его в прямоугольную матрицу.
Другими словами
from tensorflow.keras.utils import pad_sequences as ps
vals = np.array(np.array(ps([[9.0, 8.0, 8.0], [2.0, 7.0, 8.0, 8.0], [6.0, 6.0, 8.0, 5.0], [2.0, 4.0, 10.0, 4.0, 5.0]]
)))

К сожалению, это приводит к разбросу порядка цветовых секций (отдельный оттенок для каждой секции, разделенный на разные степени яркости для каждого подраздела): есть идеи по изменению порядка новых цветов с помощью этих уникальных данных?
[ОБНОВЛЕНИЕ]
Я пробовал
tab20c = plt.color_sequences["tab20c"]
outer_colors = [tab20c for i in [0, 4, 8, 12]]
inner_colors = [tab20c for i in np.array(ps([[9.0, 8.0, 8.0], [2.0, 7.0, 8.0, 8.0], [6.0, 6.0, 8.0, 5.0], [2.0, 4.0, 10.0, 4.0, 5.0]])).flatten().astype(np.int64).tolist()]

но теперь я понимаю, что на самом деле цвет меняется в зависимости от размера среза, если я прав.
[ОБНОВЛЕНИЕ 2]
Я, по крайней мере, выяснил, как придать каждому подразделу «совпадающий» цвет из родительского раздела посредством жесткого кодирования: это должно сделать решение окончательной реализации более ясным, мне просто нужно как-то изменить тон для каждого подраздела и автоматизировать его, разрешив сценарию корректировать массив значений в зависимости от ввода.
outer_colors = [tab20c for i in [0, 4, 8, 12]]
inner_colors = [tab20c for i in [0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 12, 12, 12, 12, 12]]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»