python的matplotlib餅狀圖


在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()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM