您好,登錄后才能下訂單哦!
小編給大家分享一下Python如何實現餅圖,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
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)
則繪出的效果如下:
代碼如下:
# -*- 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 #用來正常顯示負號 #數據 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()
看完了這篇文章,相信你對“Python如何實現餅圖”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。