如何在 Python 中绘制一个圆圈并用各种颜色为线段着色?

问题描述

我想画多个圆圈,一个在另一个里面,将它们的边界分成 N 个相等的部分,并用特定的颜色为每个圆圈的每个部分着色,如下图所示: circle (不幸的是,这里只显示一个圆圈。我想以这种方式绘制多个圆圈,一个在另一个圆圈内。)

如何在 Python 中执行此操作?

解决方法

您要查找的词是 Nested pie charts。您可以尝试类似 matplotlib 中的 this

enter image description here

here借用了一个例子。

import matplotlib.pyplot as plt
 
# Data to plot
labels = ['Python','C++','Ruby','Java']
sizes = [504,337,415,280]
labels_gender = ['Man','Woman','Man','Woman']
sizes_gender = [315,189,125,212,270,145,190,90]
weight_gender = [189,315,200,80]
colors = ['#ff6666','#ffcc99','#99ff99','#66b3ff']
colors_gender = ['#c2c2f0','#ffb3e6','#c2c2f0','#ffb3e6']
 
# Plot
plt.pie(sizes,labels=labels,colors=colors,startangle=90,frame=True)
plt.pie(sizes_gender,colors=colors_gender,radius=0.75,startangle=90)
centre_circle = plt.Circle((0,0),0.5,color='black',fc='white',linewidth=0)
fig = plt.gcf()
fig.gca().add_artist(centre_circle)
 
plt.axis('equal')
plt.tight_layout()
plt.show()

enter image description here