如何在 Python 中画一个圆圈并用各种颜色给线段着色?
How to draw circles one inside the other and color the segments with various colors in Python?
我想绘制多个圆圈,一个在另一个圆圈内,将它们的边界分成 N 个相等的部分,并用特定颜色为每个圆圈的每个部分着色,如下图所示:
circle
(不幸的是,这里只显示了一个圆圈。我想以这种方式绘制多个圆圈,一个在另一个圆圈中。)
如何在 Python 中执行此操作?
您要找的词是Nested pie charts
。您可以从 matplotlib
.
尝试类似 this 的内容
示例来自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','Man','Woman','Man','Woman']
sizes_gender = [315,189,125,212,270,145,190,90]
weight_gender = [189,315,270,212,125,145,200,80]
colors = ['#ff6666', '#ffcc99', '#99ff99', '#66b3ff']
colors_gender = ['#c2c2f0','#ffb3e6', '#c2c2f0','#ffb3e6', '#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()
我想绘制多个圆圈,一个在另一个圆圈内,将它们的边界分成 N 个相等的部分,并用特定颜色为每个圆圈的每个部分着色,如下图所示: circle (不幸的是,这里只显示了一个圆圈。我想以这种方式绘制多个圆圈,一个在另一个圆圈中。)
如何在 Python 中执行此操作?
您要找的词是Nested pie charts
。您可以从 matplotlib
.
示例来自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','Man','Woman','Man','Woman']
sizes_gender = [315,189,125,212,270,145,190,90]
weight_gender = [189,315,270,212,125,145,200,80]
colors = ['#ff6666', '#ffcc99', '#99ff99', '#66b3ff']
colors_gender = ['#c2c2f0','#ffb3e6', '#c2c2f0','#ffb3e6', '#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()