Matplotlib是Python一個著名的繪圖package. 一般來說, 學習數據分析都會學到這個package. 以下我總結 Matplotlib 的官方學習指南, 提供部分理解後的例子給大家參考.
下面主要以 pyplot 這個API來說明. 一個數據圖需要具備三個要素, 畫布, 數據內容, 和圖框.
以下列來看, [1, 2, 3, 4]是數據內容, 告訴plt現在要繪製一條經過 (x, y) = 1, 2, 3, 4的線段. 而plt.xlabel() 和 plt.ylabel() 則分別是 X 和 Y 的標籤. plt.title() 則是圖的標題. 從這個例子, 已經可以掌握基礎的繪圖技巧了.
如果要繪製的不是直線, 則修改數據內容, 就可畫出不同的圖了.
在 plt.plot() 裡, 預設呈現的方式為線段, 可使用 'ro' 或是 'b*' 參數, 將數據點調整成 'ro' (紅色圈圈) 或是 'b*' (藍色星星). 同時也可以藉由 plt.axis() 來調整 X軸 和 Y軸 的起始/結束點.
如果想要在同一張畫布上繪製多組數據, 也很簡單, 只要照右式順序 plt.plot(Data1_x axis, Data1_y axis, Data1_style, Data2_x axis, Data2_y axis, Data2_style, ... ) , 就可以把多組數據繪製在同一張畫布上.
相信很多人不會只滿足於上面這個例子, 想要為每組數據標上名稱. 這時候就需要引入在剛開始提到的概念, 先建畫布, 再來填數據和圖框. 使用 fig = plt.figure() 建立空白畫布. 並添加三組數據. 最後使用 plt.legend() 把數據名稱標出來, legend可在括號內添加 loc='location' 參數定義數據名稱的位置.
常常我們需要把各種不同的數據圖表並列, 這時候就可以看出 fig = plt.figure() 強大的地方了. 使用 內部參數1 及 figsize=() 定義出要畫的圖為1行, 大小為 9*3. 並且使用 plt.subplot() 來定義子圖的位置. 如下圖將三種不同類型的統計畫呈現在一張畫布上.
最後教大家畫的是直方圖 (Histogram), 我們使用的指令是 plt.hist(). 下圖我們定義一個均值為100, 標準差為15的數據組, 並畫出常態分佈圖. 在 plt.hist() 裡, 可以設定 參數facecolor 來變換顏色, 也可以用 alpha (介於0~1) 來設定透明度. plt.text() 則可為數據標上說明. 最後的 plt.grid() 是用來設定格線, 預設是不顯示(False).
以上先簡單的翻譯了官方網站繪製統計圖的內容, 之後如果我有時間, 會在總結其他 Matplotlib 的功能.
其他連結:
1. Seaborn 的介紹
- Home-icon
- Python 新手村
- _環境設定 & 安裝教學
- __JupyterLab
- __Anaconda
- __PyCharm
- _Python 基礎教學
- __1. Python介紹 + 資料型態
- __2. 流程控制及迴圈
- __3. 字串處理
- __4. Function 函數
- __5. Exception handling 例外處理
- __6. 輸出 and 輸入
- __7. 標準函數庫及模組
- _Python Library
- __Matplotlib 介紹
- __Seaborn 介紹
- __Scikit-Learn 介紹
- _Python Tips
- __Python Tips: Ignore warning 忽略警告
- __Python Tips: loc和iloc的差別
- __Python Tips: and, or, &, | 的差別
- __Python Tips: 獲取 API 資料
- __Python Tips: 讀取 & 輸出 CSV 教學
- Data Engineering
- _環境設定 (Docker 介紹)
- __Docker Introduction
- __Dockerfile 和 docker-compose.yml 範例
- __GIT Introduction
- _DE Project 1 - ETL
- __DE Project 1 - ETL - 環境設定
- __DE Project 1 - ETL - AirFlow 設定
- Documentation
- _Web Documentation
- _Video Documentation
0 留言