在python的matplotlib畫圖函數中,餅狀圖的函數為pie
pie函數參數解讀
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:指定餅圖某些部分的突出顯示,即呈現爆炸式;
-
labels:為餅圖添加標簽說明,類似於圖例說明;
-
colors:指定餅圖的填充色;
-
autopct:自動添加百分比顯示,可以采用格式化的方法顯示;
-
pctdistance:設置百分比標簽與圓心的距離;
-
shadow:是否添加餅圖的陰影效果;
-
labeldistance:設置各扇形標簽(圖例)與圓心的距離;
-
startangle:設置餅圖的初始擺放角度;
-
radius:設置餅圖的半徑大小;
-
counterclock:是否讓餅圖按逆時針順序呈現;
-
wedgeprops:設置餅圖內外邊界的屬性,如邊界線的粗細、顏色等;
-
textprops:設置餅圖中文本的屬性,如字體大小、顏色等;
-
center:指定餅圖的中心點位置,默認為原點
-
frame:是否要顯示餅圖背后的圖框,如果設置為True的話,需要同時控制圖框x軸、y軸的范圍和餅圖的中心位置;
實例
1.基本的畫圖函數
import matplotlib.pyplot as plt #解決中文亂碼問題 # 正常顯示中文標簽 plt.rcParams['font.sans-serif']=['SimHei'] # 用來正常顯示負號 plt.rcParams['axes.unicode_minus']=False #刻度的大小 plt.rcParams['axes.labelsize'] = 16 #線的粗細 plt.rcParams['lines.linewidth'] = 2 #x軸的大小 plt.rcParams['xtick.labelsize'] = 14 #y軸的大小 plt.rcParams['ytick.labelsize'] = 14 #圖例大小 plt.rcParams['legend.fontsize'] = 14 #圖的大小 plt.rcParams['figure.figsize'] = [12,8]
#=======================================
#基本的使用實例 #定義餅的標簽, labels = ['A','B','C','E'] #每個標簽所占的比例 x = [15,30,45,10] #繪制餅圖 plt.pie(x,labels=labels) plt.show()
注:不加其他參數的使用這個函數,不一定是圓形;而且得到的運行結果根據參數的設置會很大,不建議如此操作。
2.繪制正圓形的餅狀圖
import matplotlib.pyplot as plt labels = ['A','B','C','D'] x = [15,30,45,10] #顯示百分比 plt.pie(x,labels=labels,autopct='%3.2f%%') #設置x,y的刻度一樣,使其餅圖為正圓 plt.axis('equal') plt.show()
3.繪制餅狀圖-設置文本標簽的屬性值
import matplotlib.pyplot as plt labels = ['A','B','C','D'] x = [15,30,45,10] #顯示百分比 #textprops={'fontsize':18,'color':'k'} 設置為字體大小為18,顏色黑色 plt.pie(x,labels=labels,autopct='%3.2f%%',textprops={'fontsize':18,'color':'k'}) #設置x,y的刻度一樣,使其餅圖為正圓 plt.axis('equal') plt.show()
4.餅狀圖的分離與陰影設置
import matplotlib.pyplot as plt labels = ['A','B','C','D'] x = [15,30,45,10] #顯示百分比 #餅圖分離 explode = (0,0.1,0,0) #設置陰影效果 plt.pie(x,labels=labels,autopct='%3.2f%%',explode=explode,shadow=True) #設置x,y的刻度一樣,使其餅圖為正圓 plt.axis('equal') plt.show()
5.起始角度
import matplotlib.pyplot as plt labels = ['A','B','C','D'] x = [15,30,45,10] #顯示百分比 #餅圖分離 explode = (0,0.1,0,0) #設置陰影效果 #startangle,為起始角度,0表示從0開始逆時針旋轉,為第一塊。 plt.pie(x,labels=labels,autopct='%3.2f%%',explode=explode,shadow=True,startangle=60) #設置x,y的刻度一樣,使其餅圖為正圓 plt.axis('equal') plt.show()
6圓心距離與提示標簽並保存到本地
import matplotlib.pyplot as plt labels = ['A','B','C','D'] x = [15,30,45,10] #顯示百分比 #餅圖分離 explode = (0,0.1,0,0) #設置陰影效果 #startangle,為起始角度,0表示從0開始逆時針旋轉,為第一塊。 #pctdistance,百分比的文本離圓心的距離為0.5 plt.pie(x,labels=labels,autopct='%3.2f%%',explode=explode,shadow=True,startangle=60,pctdistance=0.8) #設置x,y的刻度一樣,使其餅圖為正圓 plt.axis('equal') plt.legend() #保存到本地文件夾 plt.savefig('./餅圖.png') plt.show()