plt 循环生成多个饼状图
要循环生成多个饼状图,可以使用循环语句来遍历数据集,并在每次迭代中生成一个饼状图。
下面是一个示例代码,演示如何使用Matplotlib库循环生成多个饼状图:
import matplotlib.pyplot as plt
# 数据集
data = [
{'label': 'A', 'value': 25},
{'label': 'B', 'value': 30},
{'label': 'C', 'value': 45}
]
# 循环生成饼状图
for i, item in enumerate(data):
labels = [item['label'], 'Others']
sizes = [item['value'], 100-item['value']]
explode = (0.1, 0) # 突出显示第一块
plt.subplot(1, len(data), i+1)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', startangle=90)
plt.axis('equal') # 使饼状图为正圆形
plt.title(f"Chart {i+1}")
# 显示图形
plt.show()
在上述代码中,我们使用enumerate()函数来同时迭代数据集中的索引和值。然后,我们使用subplot()函数来创建一个子图,将每个饼状图放在不同的子图中。
在每个迭代中,我们将数据集中的标签和值提取出来,并使用pie()函数生成饼状图。我们还使用explode参数来突出显示第一块,并使用autopct参数来显示每个扇区的百分比。
最后,我们使用plt.show()函数显示生成的图形。
这样就可以循环生成多个饼状图了。你可以根据需要修改数据集和其他参数来适应你的需求
原文地址: https://www.cveoy.top/t/topic/hWS9 著作权归作者所有。请勿转载和采集!