我目前有一个工作程序,创建饼图类似于下面的类似代码:
import matplotlib.pyplot as plt
def get_name_counts(Names):
if "Bob" in Names:
NameList[0] +=1
elif "Ann" in Names:
NameList[1] +=1
elif "Ron" in Names:
NameList[2] +=1
elif "Zee" in Names:
NameList[3] +=1
def plot_dist(Values, Labels, Title):
plt.title(Title)
plt.pie(Values, labels = Labels, autopct='%0.0f%%', colors = ('g', 'r', 'y', 'c'))
NameList = [0]*4
for Line in File:
for Names in Line:
get_name_count(Names)
pp=PdfPages("myPDF.pdf")
MyPlot = plt.figure(1, figsize=(5,5))
Labels = ('Bob', 'Ann', 'Exon', 'Ron', 'Zee')
Values = NameList
plot_dist(Values, Labels, "Name Distribution")
pp.savefig()
plt.close()
pp.close()
然而,我有几个不同的列表,我想创建饼图,我想知道是否有一个更简单的方法来做到这一点。而不是必须为每个图表指定确切的名称,我可以做一个函数,将检测每个唯一的名称,并获得相关的计数?
1条答案
按热度按时间h7wcgrx31#
您可以在列表上运行一个循环,并保留一个计数器以具有唯一的图像文件名:
这将绘制
data
的第一级元素,总共5个饼图。