1. 程式人生 > 實用技巧 >Python視覺化教程:餅圖(附原始碼)

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)

則繪出的效果如下:

3. 雙組餅圖

程式碼如下:

# -*- 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()

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。

作者:譚編