Я пытаюсь воссоздать кольцевую диаграмму, где последний клин тоньше остальных, например:
Но я не могу найти способ уменьшить ширину последнего клина. Поэтому я попытался сделать так, чтобы последний клин был того же цвета, что и фон, и нарисовал сверху серый кружок. Но я не могу нарисовать круг под клиньями и сделать слои выше прозрачными в нужных местах.
Есть ли способ сделать один клин прозрачным или иным образом решить мою проблему?
Вот мой код:
import matplotlib.pyplot as plt
donut = [150,10,20,20,30,40]
total = sum(donut)
grey_circle = plt.Circle((0,0),0.965,color='#CCCCCC', lw=1, fill=False)
centre_circle = plt.Circle((0,0),0.93,fc='white')
fig, ax = plt.subplots(figsize=(2, 2), subplot_kw=dict(aspect="equal"))
colors = ['#F8F5EB','#50E3C2','#FF9100','#002776','#C94096','#0071CD' ]
wedges, texts = ax.pie(donut, colors=colors, wedgeprops=dict(width=0.1), startangle=90)
fig.gca().add_artist(grey_circle)
fig.gca().add_artist(centre_circle)
fig.set_facecolor('#F8F5EB')
fig = plt.gcf()
plt.savefig('cirle.png',facecolor=fig.get_facecolor(), edgecolor='none', dpi=300)
plt.show()
И мой результат: