Изменение свойств линии в библиотек matplotlib круговая диаграмма

Я пытаюсь сделать линии на моей круговой диаграмме matplotlib намного легче. Поскольку у меня так много ломтиков, линии слишком толстые, как показано здесь:

enter image description here

я прочитала что предлагает использовать rcparam следующим образом:

matplotlib.rcParams['text.color'] = 'r'
matplotlib.rcParams['lines.linewidth'] = 2

но хотя я могу изменить цвет текста, он не изменяет ширину линий между срезами пирога. Я считаю, что это потому, что срезы управляются не линейными объектами, а клином объекты. Итак, есть ли способ установить стиль и цвет границы клина?

Спасибо большое, Алекс!--2-->

2 ответов


попробуйте это:

ax = plt.subplot(111) 
wedges, texts = ax.pie(np.abs(np.random.randn(5)))

for w in wedges:
    w.set_linewidth(2)
    w.set_edgecolor('cyan')

pie

кроме того, если у вас есть только axes объект и не имеют прямого доступа к клиньям пирога вы можете получить клинья из ax.patches:

wedges = [patch for patch in ax.patches if isinstance(patch, matplotlib.patches.Wedge)]

Я опаздываю на эту вечеринку, но только что обнаружил, что для круговых диаграмм вместо использования:

plt.rcParams['lines.linewidth'] = 2

вы можете использовать:

plt.rcParams['patch.linewidth'] = 0  

кроме того, чтобы изменить цвет линии круговой диаграммы, используйте следующее:

plt.rcParams['patch.edgecolor'] = 'white' 

вместо:

plt.rcParams['line.color'] = 'white'