nav分隔線 nav分隔線

使用Matplotlib套件,在Python快速畫出分析圖表

icon_fb icon_twitter icon_google
使用Matplotlib套件,在Python快速畫出分析圖表

文、意如老師

 

 

將收集的數據資料轉變成圖表將數據圖形化,能更清楚呈現易閱讀的文件,

常見的圖表類型有長條圖、圓餅圖、折線圖等…,要使用Python 快速畫出圖表,可以使用Matplotlib套件,Matplotlib是一個在Python中非常強大的畫圖套件,幾乎所有的圖表都可以輕鬆的畫出來,本篇會將以折線圖與圓餅圖作為範例。

 

 

看完這篇文章你會學到:

任務一:安裝 Matplotlib套件

任務二:製作折線圖

2.1 畫出2組資料折線圖

2.2 設定圖表中的屬性(顏色、線寬、線條樣式)

2.3 設定文字屬性(字體、大小)

任務三:製作圓餅圖

 

 

任務一:安裝 Matplotlib套件

 

先下載Anaconda(裡面包含了我們之後會常用到的工具,包含Python3、Spyder編輯器等,也會自動安裝Matplotlib套件)

Anaconda官方下載點

 

Anaconda download teaching

 

 

安裝好就可以開啟Spyder編輯器開始寫程式了。

 

如果寫完程式還無法顯示圖表時,有可能是Matplotlib套件未安裝,或是沒安裝好,此時可以使用pip的方式來安裝Matplotlib套件。

 

首先進入到命令提示字元cmd (按下右鍵以系統管理員身分執行)

 

Anaconda Command Prompt Characters

 

 

步驟一:

建議執行python -m pip install -U pip setuptools 進行升級,這樣之後下載套件就會是最新的版本。

 

步驟二:

接著鍵入python -m pip install matplotlib進行自動的安裝,系統會自動下載安裝包。

 

步驟三:

安裝完成後,可以用python -m pip list查看本機的安裝的所有模塊,確保Matplotlib已經安裝成功。

 

Matplotlib installation

 

 

步驟四:

接下來記得將spyder編輯器重新啟動,即可顯示圖表。

 

如果還是無法顯示圖表時,可以在以下路徑設定

Tools > Preferences > iPython console > Graphics > Graphics backend > Automatic

 

spyder editor_1

 

spyder editor_2

 

最後再將編輯器重新啟動即可正常顯示圖表。

 

 

任務二:製作折線圖

 

程式碼解析:

1. 匯入套件matplotlib.pyplot 取別名為mpt

import matplotlib.pyplot as mpt

 

2. 設定圖表中的x 軸為 (1~6) y 軸為(5~1萬)

mpt.xlim(1,6) 

mpt.ylim(5000,10000)

 

3. 設定兩個變數datax datay分別存入 x軸點的位置 y軸點的位置

datax=[1,2,3,4,5,6] #x軸點的位置

datay=[7800,6500,7300,8120,6800,7650]#y軸點的位置

 

4. 使用套件中的plot方法畫上折線圖,並將x軸點的位置,y軸點的位置當參數帶進去

mpt.plot(datax,datay) #畫折線圖(x軸點的位置,y軸點的位置)

 

最後執行:

 

matplotlib line chart

 

 

完整程式碼:

import matplotlib.pyplot as mpt

mpt.xlim(1,6)

mpt.ylim(5000,10000)

 

datax=[1,2,3,4,5,6]

datay=[7800,6500,7300,8120,6800,7650]

mpt.plot(datax,datay)

 

 

2.1畫出2組資料折線圖:

 

1. 只要再新增一組資料即可

infox=[1,2,3,4,5,6]

infoy=[5600,6730,6320,5650,7750,8680]

 

2. 資料加上標題

mpt.plot(datax,datay,label="Taipei")

 

3. 加入圖例

mpt.legend()

 

4. 將圖表呈現在畫布上(有些版本不需要加入此行,也可以顯示)

mpt.show

 

matplotlib data line chart

 

 

完成程式碼:

import matplotlib.pyplot as mpt

mpt.xlim(1,6)

mpt.ylim(5000,10000)

 

datax=[1,2,3,4,5,6]

datay=[7800,6500,7300,8120,6800,7650]

mpt.plot(datax,datay,label="Taipei")

 

infox=[1,2,3,4,5,6]

infoy=[5600,6730,6320,5650,7750,8680]

mpt.plot(infox,infoy,label="Elan")

 

mpt.legend()

mpt.show

 

 

2.2 設定圖表中的屬性(顏色、線寬、線條樣式)

 

設定寬度linewidth為’8’ ,樣式linestyle為虛線”- -"

mpt.plot(infox,infoy,label="elan",linewidth=8,linestyle="--")

 

 

2.3 設定文字屬性(字體、大小)

 

先匯入套件

from matplotlib.font_manager import FontProperties

設定字體的路徑,及大小為12 到font_set變數中

font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)

將標題文字,套用font_set變數

mpt.title("各分店銷售圖",fontproperties=font_set)

 

完整程式碼:

import matplotlib.pyplot as mpt

from matplotlib.font_manager import FontProperties

 

mpt.xlim(1,6)

mpt.ylim(5000,10000)

 

datax =[1,2,3,4,5,6]

datay =[7800,6500,7300,8130,6800,7500]

mpt.plot(datax,datay,label="Taipei",color="green")

 

infox =[1,2,3,4,5,6]

infoy =[5670,6780,6324,7680,5600,7800]

mpt.plot(infox,infoy,label="elan",linewidth=8,linestyle="--")

 

mpt.legend()

font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)

mpt.title("各分店銷售圖",fontproperties=font_set)

 

mpt.show

 

matplotlib branch line chart

 

 

任務三:製作圓餅圖

 

matplotlib circle pie chart

 

 

程式碼解析:

匯入套件matplotlib.pyplot 取別名為 mpt

import matplotlib.pyplot as mpt

 

設定資料標題

labels=["food","clothes","live","play"]

 

設定每一個項目的大小比例

sizes=[20,10,20,15]

 

設定每一個項目的顏色

color=["green","blue","yellow","pink"]

 

設定特別要突出的資料(以範例來說藍色那塊要突出),所以將第二個參數設定0.2,當然要更突出的話可以將數字往上加

 

explode=(0,0.2,0,0)

 

設定百分比

autopct="%2.2f%%"

 

設定開始角度

startangle=90

 

設定是否要陰影

shadow="True"

 

顯示圖例

mpt.legend()

 

將畫好的圓餅圖顯示出來

mpt.show

 

最後呼叫mpt套件中的pie 方法,將剛剛的參數物都帶入進去。

 

mpt.pie(sizes,explode=explode,autopct="%2.2f%%",startangle=90,colors=color,shadow="True",labels=labels)

 

 

完整程式碼如下:

import matplotlib.pyplot as mpt

 

labels=["food","clothes","live","play"]

sizes=[20,10,20,15]

explode=(0,0.2,0,0)

color=["green","blue","yellow","pink"]

 

mpt.pie(sizes,explode=explode,autopct="%2.2f%%",startangle=90,colors=color,shadow="True",labels=labels)

 

mpt.legend()

mpt.show

 

Matplotlib circle pie chart code

 

了解完簡單易懂的分析圖表,就來更進階的學習靈活運用Python吧!

👉Python程式資料分析

 

 

 

 

FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/user/LccnetTaiwan

痞客邦Blog:http://lccnetvip.pixnet.net/blog

本網站使用相關網站技術以確保使用者獲得最佳體驗,通過使用我們的網站,您確認並同意本網站的隱私權政策。欲了解詳情,請參閱 隱私權政策