Python matplotlib绘制饼图

Python matplotlib绘制饼图

最近用到了matplotlib库绘制饼图,之前也没有做过,所以网上查阅了一些资料

plt.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文

plt.figure(figsize=(14,6))

ax1 = plt.subplot(1,2,1)  #一行两列第一个图
shapes1 = ['0-5', '6-10', '11-15', '16-20', '21-25', '26-30', '31-35',
'36-40', '41-45', '46-50', '51-55', '56-60', '61-65', '66-70',
'71-75', '76-80', '81-85', '85-90', '91-95','96-100']
values1 = [ 5,10,9,9,17,12,17,15,12,12,11,19,17,9,13,19,14,18,12,1,]
s1 = pd.Series(values1, index=shapes1)
labels1 = s1.index
sizes1 = s1.values
explode1 = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)

patches, texts, autotexts = ax1.pie(sizes1, explode=explode1, labels=labels1, autopct='%1.2f%%',shadow=False, startangle=170)
ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.


ax2 = plt.subplot(1,2,2)  
shapes2 = ['0-5', '6-10', '11-15', '16-20', '21-25', '26-30', '31-35',
'36-40', '41-45', '46-50', '51-55', '56-60', '61-65', '66-70',
'71-75', '76-80', '81-85', '85-90', '91-95','96-100']
values2 = [ 6,11,11,14,14,8,14,20,8,14,17,11,12,10,15,14,22,14,11,0,]
s2 = pd.Series(values2, index=shapes2)
labels2 = s2.index
sizes2 = s2.values
explode2 = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)

patches2, texts2, autotexts2 = ax2.pie(sizes2, explode=explode2, labels=labels2, autopct='%1.2f%%',shadow=False, startangle=170)
ax2.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.
plt.suptitle('主场-客场',horizontalalignment='center',fontsize='25')
plt.show()

大概解释下以上参数,shapes是标签列表;values是数值列表,explode是距离列表,控制每个标签之间的距离,大家可以自行修改,shadow是饼状图阴影,startangle是其实的角度,equal控制产生一个圆。

效果图如下

猜你喜欢

转载自blog.csdn.net/qq_25174673/article/details/84960397