跳到主要內容

【Google Colab Python系列】 視覺化資料Matplotlib 新手村

 

zoomable

圖片來源

相信視覺化報表對於資料科學來說是非常重要的一環, 透過圖表來呈現資料的樣態, 過程中分析模型訓練時, 觀察訓練的收斂趨勢是否如我們預期, 視覺化加速我們的判斷時間, 節省找問題的成本。

數據就如同鐵證一般, 當我們常常苦於為什麼訓練出來的A模型這麼差勁,但B模型卻非常好, 這中間發生了什麼事情, 通常沒有一個數據的話, 我們只能憑感覺, 但感覺這東西很微妙也很主觀, 常常因為我們當時看到的視角太狹隘而得出錯誤的結論, 因此最好的方式就是讓「數據」來說明一切, 呈現「數據」最好的幫手就是「視覺化圖表」了。

而在Python的世界裡, 常拿來被使用的視覺化套件是「Matplotlib」, 也是這個篇章即將介紹的一個利器, 功能非常豐富, 常見的線圖、散點圖、直方圖、長條圖、餅圖…都難不倒它, 難的是我們會不會使用它, 因此非常值得我們好好的學習一番。

導覽

我們可以看到官網的範例圖表非常的豐富, 涵蓋各式各樣的統計分析圖。

https://matplotlib.org/stable/gallery/index.html

zoomable

圖片來源

zoomable



圖片來源

在龐大的範例池裡挖呀挖呀挖, 一篇接著一篇有點挖不完的感覺…, 但不要害怕, 我們將一步步的進行教學。

當然官方網站也提供了使用者指南, 如果需要更詳細的資訊也歡迎直接上官網:

https://matplotlib.org/stable/users/index.html

zoomable



圖片來源

知己知彼,百戰百勝: 認識架構

  • Figure(圖片):整個圖表的最外層容器。一個Figure對應於一張圖片,可以包含多個子圖(Axes)。
  • Axes(座標軸):即子圖,是在Figure中的一個繪圖區域。每個Axes都有自己的座標系,可以設置座標軸的範圍、標籤、刻度等。
  • Axis(坐標軸):Axes上的x軸和y軸,用於顯示數據的範圍和刻度。
  • Artist(圖形元素):包括線條、文本、圖片等用於繪製圖表的元素。
zoomable



圖片來源

啟航: 快速安裝

以下是使用Python pip套件管理程式進行安裝, 如果是使用conda的朋友可以這樣安裝: conda install -c conda-forge matplotlib


pip install matplotlib


練功:一步一腳印

簡單的五個步驟,讓我們親手繪製出長條圖。

引入模組


import matplotlib.pyplot as plt


創建Figure和Axes

plt.subplots()函數會返回一個包含Figure和Axes對象的元組,可以通過fig設置圖片屬性,通過ax繪製圖表元素。


# 這邊預設給予一個子圖
fig, ax = plt.subplots()

## 假設想要多張子圖時可以這麼做..., 創建一個2x2的子圖佈局,總共有4個子圖
# fig, ax = plt.subplots(2, 2)
## 第一張
# ax[0, 0].plot([1, 2, 3, 4], [1, 4, 2, 3])
## 第二張
# ax[0, 1].scatter([1, 2, 3, 4], [1, 4, 2, 3], color='r')


繪製圖表


fruits = ['apple', 'blueberry', 'cherry', 'orange']
counts = [40, 100, 30, 55]
bar_labels = ['red', 'blue', '_red', 'orange']
bar_colors = ['tab:red', 'tab:blue', 'tab:red', 'tab:orange']
ax.bar(fruits, counts, label=bar_labels, color=bar_colors)


添加標籤、標題、圖例等


ax.set_ylabel('fruit supply')
ax.set_title('Fruit supply by kind and color')
ax.legend(title='Fruit color')


顯示圖表

儲存並呈現


from IPython.display import Image

fig.savefig('tmp.png')

Image('tmp.png')


今天的範例都在這裡「📦 matplotlib/matplotlib_quickstart.ipynb」歡迎自行取用。

如何使用請參閱「【Google Colab系列】台股分析預備式: Colab平台與Python如何擦出火花?」。

結語

這次透過簡單的幾個步驟就可以輕鬆使用Matplotlib來繪製圖表,其實基本架構弄懂之後,照著SOP就能購繪製出各種不同的圖表,最難的就在於如何將金礦中的「資料」轉化為可繪製的「數據」,各種圖表各有不同的資料結構,難就難在怎麼做好使用者端與套件端的資料介接者,這也是價值之所在,亦是軟體工程師重要的一環。

AI時代的來臨,總會需要數據來導正AI,而輔助我們決策的神兵利器就是「視覺化圖表」,因此身處浪潮的我們不得不好好學習這些技能才不至於被時代給淘汰,其實技術一點都不難,只要我們能夠理解設計理念及原理,那麼相信只要隨著時間的遞移就能夠熟能生巧,讓AI成為我們的最佳夥伴。

喜歡撰寫文章的你,不妨來了解一下:

Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入?

歡迎加入一起練習寫作,賺取知識!

留言

這個網誌中的熱門文章

java西元民國轉換_各種不同格式

C#資料庫操作(新增、修改、刪除、查詢)

【Excel好好玩】 自己的資產自己管!善用Google Sheet來幫我們評估貸款

這次介紹的主題是關於Excel的貸款還款計畫試算,我們人生中總會遇到需要大筆金額的花費,但當資金不夠時就得進行貸款,而貸款之前如果我們能夠審慎評估,並分析自己的還款能力之後在進行凍作,相信風險會小很多,因此就自己動動手來使用Google Sheet進行試算吧! 基本資料 ● 貸款總額: 1000000 ● 貸款期數: 84月 ● 年利率: 2.11% ● 月利率: 0.18% P.S 月利率 = 年利率 / 12 重要函式 PMT : 這是Google Sheet內建的重要年金計算公式,我們可以善用這個公式來計算固定利率及期數的固定攤還本息。因為PMT函式計算出的結果為負數,所以前面加上-號轉成正數。 動手做 首先我們在Excel表上列出我們的基本資料 圖片來源 其中月利率的部分就使用公式「=B4/12」 接著我們填上第一列的期數跟餘額 圖片來源 =B2 =B3 使用關鍵PMT函數來計算本息的部分 因為PMT函式計算出的結果為負數,所以前面加上-號轉成正數。 -PMT(貸款利率(月利率), 貸款期數, 貸款總額) =-PMT($B$5,$B$3,$B$2) 圖片來源 計算利息 利息 = 貸款餘額 x 月利率 =B8*$B$5 圖片來源 計算本金 本金 = 本息 - 利息 =C8-D8 圖片來源 製作第二列餘額的部分 餘額的部分 = 上一期的餘額 - 上一期的本金 圖片來源 接著拖曳該兩列往下拉,即可查看每一期的利息與本金 圖片來源 結語 雖然市面上已經有很多貸款銀行都提供了試算功能,但如果我們想要進一步管理自己的資產時,就需要將每一期的金額給計算出來,因此才會將公式運用在Excel表,讓我們的資產管理表能夠結合負債,進一步評估我們理財行動的下一步,希望這樣的經驗可以幫助到正在理財道路上打拼的夥伴,讓我們透過有效的管理,幫助荷包長大吧! 喜歡撰寫文章的你,不妨來了解一下: Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入? 歡迎加入一起練習寫作,賺取知識,累積財富!