python使用matplotlib繪制餅圖
制作人:全心全意
示例代碼如下:
#!/usr/bin/python
#-*- coding: utf-8 -*-
import matplotlib
import matplotlib.pyplot as plt
def bingtu(name,count):
#啟用中文
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
#設置圖大小
plt.figure(figsize=(8, 5), dpi=100)
# 通過pie
#每個扇形圖離圓心的距離
explode = (0.05, 0, 0,0,0,0,0,0,0,0)
color = ('b','r','magenta','y','lime','m','yellow','pink','c','g')
#count為次數,name為次數對應名稱
patches,l_text,p_text =plt.pie(count, labels=name, autopct='%1.2f%%', colors=color,explode=explode)
#設置扇形外文字的大小
for t in l_text:
t.set_size(12)
#設置百分比文本的大小
for t in p_text:
t.set_size(9)
# 指定顯示的pie是正圓
plt.axis('equal')
#對圖例進行設置
plt.legend(loc='lower right',bbox_to_anchor=(1.1, -0.1),markerscale=0.5)
#對標題進行設置
plt.title("數據量來源占比排名",fontdict={'weight':'normal','size': 13},y=-0.1)
#plt.show()
return plt
name = ['微信', '今日頭條', '懂車帝', '新浪微博', '搜狐新聞', '一點資訊', '看點快報', '騰訊網', '網易號', '其他']
cunt = [187, 139, 126, 88, 75, 28, 25, 23, 22, 387]
bingtu(name,cunt)
