Python視覺化教程:餅圖(附原始碼)
阿新 • • 發佈:2020-07-28
1. 普通餅圖
普通餅圖的繪製效果如下:
完整程式碼如下:
# -*- coding:utf-8 -*- # 申明編碼格式為utf-8 import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams["font.sans-serif"]=["SimHei"] #指定字型為SimHei,用於顯示中文,如果Ariel,中文會亂碼 mpl.rcParams["axes.unicode_minus"]=False #用來正常顯示負號 g=["SCI一區","SCI二區","SCI三區","SCI四區","中文核心"] c=["r","b","g","y","c"] t=[1237,2134,3456,2345,1245] #上面定義餅圖的各組份專案名稱、顏色程式碼、具體的數值 plt.pie(t,labels=g,autopct="%3.1f%%",startangle=60,colors=c) #autopct="%3.1f%%" 代表三位數,其中一位是小數位。 plt.title("圖8 近三年來發表論文的情況統計") plt.show()
PS:如有需要Python學習資料的小夥伴可以加下方的群去找免費管理員領取
2. 分列式餅圖
只需要在“1. 普通餅圖”程式碼的基礎上,將第15行程式碼中增加explode引數。補充程式碼如下:
#分列式餅圖 explode = (0.1,0.1,0.1,0.1,0.1) plt.pie(t,explode=explode,labels=g,autopct="%3.1f%%",startangle=60,colors=c)
繪圖效果如下:
如果將explode引數中只設置某一元素的間隔,其他間隔為0,例如:
explode = (0.1,0,0,0,0)
則繪出的效果如下:
3. 雙組餅圖
程式碼如下:
# -*- coding:utf-8 -*- # 申明編碼格式為utf-8 import matplotlib as mpl import matplotlib.pyplotas plt mpl.rcParams["font.sans-serif"]=["SimHei"] #指定字型為SimHei,用於顯示中文,如果Ariel,中文會亂碼 mpl.rcParams["axes.unicode_minus"]=False #用來正常顯示負號 #資料 elements=["SCI一區","SCI二區","SCI三區","SCI四區","中文核心"] t1=[1237,2134,3456,2345,1245] t2=[120,134,456,845,245] #顏色 outer_colors=["r","b","g","y","c"] inner_colors=["r","b","g","y","c"] wedges1,texts1,autotexts1=plt.pie(t1,autopct="%3.1f%%",radius=1,pctdistance=0.85,colors=outer_colors,textprops=dict(color="w"),wedgeprops=dict(width=0.3,edgecolor="w")) wedges1,texts1,autotexts2=plt.pie(t2,autopct="%3.1f%%",radius=0.7,pctdistance=0.75,colors=inner_colors,textprops=dict(color="w"),wedgeprops=dict(width=0.3,edgecolor="w")) plt.legend(wedges1,elements,fontsize=12,title='論文級別',loc='center left',bbox_to_anchor=(0.91,0,0.3,1)) plt.setp(autotexts1,size=15) plt.setp(autotexts2,size=15) plt.setp(texts1,size=12) plt.title('本校及合作單位發表論文情況') plt.show()
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。
作者:譚編