一、函數原型
plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False)
參數:
x:繪圖的數據
explode:指定餅圖突出的部分以及突出距離
colors:制定餅圖的填充顏色
labels:指定每個分片的標簽,類似於圖例說明
autopct:自動添加百分比顯示,可以利用格式化
pctdistance:設置百分比標簽和圓心的距離
labeldistance:標簽距餅中心距離
shadow:餅圖是否添加陰影效果
startangle:設置餅圖初始擺放角度
radius:餅圖的半徑大小
counterclock:是否讓餅圖按照逆時針順序呈現
wedgeprops:設置餅圖內外邊界屬性
textprops:設置餅圖中文本的屬性,例如字體大小、顏色等
center:制定餅圖中心位置
frame:是否顯示餅圖背后的圖框
二、使用
1.基本餅圖
import matplotlib.pyplot as plt
import numpy as py
fig = plt.figure()
labels =['vivo','meizu','huawei','apple']
values=[10,20,50,80] colors=['yellow','red','green','blue']
plt.pie(values,labels=labels,colors=colors,startangle=180,shadow=True)
plt.title('pip chart')
plt.show()
優化1
通過設置 explode參數使各部分扇形占比分離。
explode=[0.1,0.1,0.1,0.1]
通過設置autopct顯示各個扇形部分占比
autopct='%1.1f%%'
優化2
設置畫布大小以及dpi
plt.figure(figsize=(6,8),dpi=200)
添加圖例
plt.legend(loc='upper left',bbox_to_anchor=(-0.1,1))
這樣得到的餅圖更加清晰,更能說明所描述的信息(有點大,別慌)
2.繪制內嵌環形餅圖
通過設置wedgeprops參數實現
plt.pie(values,radius=1,pctdistance=0.9,colors=colors,wedgeprops=dict(width=0.3,edgecolor="w"),autopct='%1.1f%%') plt.pie(values,radius=0.7,colors=colors,pctdistance=0.7,startangle=180,wedgeprops=dict(width=0.3,edgecolor="w"),autopct='%1.1f%%')