今天這篇要進入到資料視覺化
在前幾篇的文章裡,資料的形式多半是呈現在表格化的資料表上
為了讓數據的呈現更為淺顯易懂
此時資料變成圖表就派上用場了!
可以讓數字藉由圖像化找出單純看數字看不出來的insight
這裡首先要介紹的視覺化模組是matplotlib
matplotlib是資料科學世界裡最基本也是最常見的視覺化模組
在真實資料的場景中
很多時候的資料想要呈現的圖表都不相同
有時候想要將圖表拆成多個子圖
或是想要換顏色
圖例如果重疊怎麼辦?
所以在學習視覺化的時候
很重要的是學會如何查出想要的答案
首先最基本的就是從Matplotlib官網上查詢
Tutorials - Matplotlib 3.4.3 documentation
裡面有各種圖形的分類,還有教學
是個快速方便的使用資源
Stakeoverflow
Stack Overflow - Where Developers Learn, Share, & Build Careers
上面會有很多的問答
可以利用想要繪製的圖,或是遇到的問題
利用關鍵字搜尋是否有人問過或是解答過
也可以自己在上面發問
在學會繪圖之前
先要知道一個圖表是怎麼組成的
Figure
:可以想像成是一張畫布
Axes
: 則是畫布裡面可以出現的子圖,可以利用參數設定想要出現的子圖數量、位置和各個子圖的名稱
接下來看官網上關於圖表的介紹:圖片來源
legend
: 圖例
major/miner tick label
: 主要的欄位名稱或是附加的欄位名稱
grid
: 格線
title
: 子圖名稱
可以先初步建立對圖表架構的概念
這之後在參數的使用上會很重要
在這裡我使用的是JupyterLab
先簡介使用上很常使用的快捷鍵
就是Shift+Tab
可以在jupyter notebook 內直接開啟函數的說明檔案
不止用在matplotlib,在前面學到的NumPy,Pandas等Python的語法都可以查詢
具體使用方式如下:
現在來建立一個沒有指定子圖的畫布
fig = plt.figure()
當我們想要指定畫布裡出現一個子圖
第一個方法:
會使用到plt.subplots()
在括號裡不要填上任何參數即可
fig = plt.subplots()
當我們想要建立一個2x2有四個子圖的畫布時
fig, axes = plt.subplots(2,2)
當我們想要指定特定的子圖做圖時,可以利用二維陣列的思維索引
像是axes[0,1],[1,1]
的方式
可以看到若是指定axes[0,1]
,在畫布上就會將指定的資料繪製在右上角的子圖
第二個方法:
也可以先建立畫布,使用plt.figure()
並加上參數figsize
指定畫布大小
再加上子圖,使用add_subplot()
參數使用方式add_subplot(nrows, ncols, index, **kwargs)
同樣假設想設計2x2的有四個子圖的畫布
並且將每個子圖命名
fig = plt.figure(figsize=(10,5))
axe1 = fig.add_subplot(2, 2, 1)
axe2 = fig.add_subplot(2, 2, 2)
axe3 = fig.add_subplot(2, 2, 3)
axe4 = fig.add_subplot(2, 2, 4)
現在認識了matplotlib
知道要怎麼查詢跟使用工具
還學習了圖表的架構跟如何建立圖框
下一篇就會介紹基礎的函數和參數
因為概念是共用的
最常使用到的是長條圖、折線圖、圓餅圖、柱狀圖、散佈圖等等
所以學會變化參數很重要
接下來會結合前幾篇學過的NumPy和Pandas練習!
前面的都要熟練才能往下繼續