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

更新 發佈閱讀 5 分鐘
raw-image

圖片來源

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

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

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

導覽

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

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

raw-image

圖片來源

raw-image

圖片來源

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

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

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

raw-image

圖片來源

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

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

圖片來源

啟航: 快速安裝

以下是使用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時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入?

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

留言
avatar-img
留言分享你的想法!
avatar-img
阿Han的沙龍
141會員
308內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
阿Han的沙龍的其他內容
2025/01/29
🤔 簡單且靜態就足夠了? 相信我們在開發Python應用程式的過程中, 常常會借用Enum來定義我們可能的選項, 就像顏色紅、綠、黃會有這樣的結構: class Color(str, Enum): RED = 'red' GREED = 'green' YELLOW = 'yel
Thumbnail
2025/01/29
🤔 簡單且靜態就足夠了? 相信我們在開發Python應用程式的過程中, 常常會借用Enum來定義我們可能的選項, 就像顏色紅、綠、黃會有這樣的結構: class Color(str, Enum): RED = 'red' GREED = 'green' YELLOW = 'yel
Thumbnail
2025/01/08
當我們的系統發展到一定程度時, 難免會面臨到正式上線的問題, 要如何讓維運更加簡易呢? 尤其隨著複雜的客製化配置的出現時, 我們應該如何有效的管理, 甚至驗證配置是否如預期資料型態、格式…, 而正好 pydantic 可以滿足這樣的需求, 就讓我們來看看怎麼使用吧! 需安裝的套件 pip i
Thumbnail
2025/01/08
當我們的系統發展到一定程度時, 難免會面臨到正式上線的問題, 要如何讓維運更加簡易呢? 尤其隨著複雜的客製化配置的出現時, 我們應該如何有效的管理, 甚至驗證配置是否如預期資料型態、格式…, 而正好 pydantic 可以滿足這樣的需求, 就讓我們來看看怎麼使用吧! 需安裝的套件 pip i
Thumbnail
2025/01/02
要如何使用unicorn啟動多個FastAPI服務, 歡迎參考我們的「【💊 Python的解憂錦囊 - FastAPI】如何啟動多個Workers」。 當我們試著設計帶入模組化時… 我們在「【💊 Python的解憂錦囊 - FastAPI】使用 lifespan 來共享資料與管理生命週期
Thumbnail
2025/01/02
要如何使用unicorn啟動多個FastAPI服務, 歡迎參考我們的「【💊 Python的解憂錦囊 - FastAPI】如何啟動多個Workers」。 當我們試著設計帶入模組化時… 我們在「【💊 Python的解憂錦囊 - FastAPI】使用 lifespan 來共享資料與管理生命週期
Thumbnail
看更多
你可能也想看
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
GNN發展背景 傳統的深度學習模型如在計算機視覺(CV)和自然語言處理(NLP)領域中極為成功,主要是處理結構化數據如影像和文本。這些數據類型通常具有固定且規律的結構,例如影像是由有序的像素點組成。然而,在真實世界中,許多數據是非結構化的,如化合物結構(原子和分子)。這些數據雖然具有一定的規則性,
Thumbnail
GNN發展背景 傳統的深度學習模型如在計算機視覺(CV)和自然語言處理(NLP)領域中極為成功,主要是處理結構化數據如影像和文本。這些數據類型通常具有固定且規律的結構,例如影像是由有序的像素點組成。然而,在真實世界中,許多數據是非結構化的,如化合物結構(原子和分子)。這些數據雖然具有一定的規則性,
Thumbnail
分享這本作者公開金融時報資料視覺化經驗與知識的精華,也加上過往分析的經驗,並整理了視覺化辭典之各視覺化工具做法的資訊統整,跟大家分享交流這本好書。
Thumbnail
分享這本作者公開金融時報資料視覺化經驗與知識的精華,也加上過往分析的經驗,並整理了視覺化辭典之各視覺化工具做法的資訊統整,跟大家分享交流這本好書。
Thumbnail
想製作看起來專業又精美的圖表嗎?面對一堆數據卻不知該如何報告嗎? Graphy絕對能滿足你的需求! Graphy是一個提供圖表製作、數據分析等功能的AI工具,讓使用者能夠快速創建和分享數據視覺化的內容,使報告製作變得更加高效、易於理解,無需複雜的整合或廣泛的學習。
Thumbnail
想製作看起來專業又精美的圖表嗎?面對一堆數據卻不知該如何報告嗎? Graphy絕對能滿足你的需求! Graphy是一個提供圖表製作、數據分析等功能的AI工具,讓使用者能夠快速創建和分享數據視覺化的內容,使報告製作變得更加高效、易於理解,無需複雜的整合或廣泛的學習。
Thumbnail
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
Thumbnail
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
Thumbnail
在商務簡報當中,經常需要呈現大量的圖表與數據資料,但是有時在呈現上整體版面會過於雜亂?或是有時候在版面呈現上比例抓得不太好,而讓閱聽受重產生數據內容誤讀?或是想讓美觀的呈現簡報,最終卻顯得不那麼乾淨俐落。以下教大家運用AI工具讓大家可以有質感的呈現商務簡報: 首先了解圖表類型,商業圖表在呈現主要
Thumbnail
在商務簡報當中,經常需要呈現大量的圖表與數據資料,但是有時在呈現上整體版面會過於雜亂?或是有時候在版面呈現上比例抓得不太好,而讓閱聽受重產生數據內容誤讀?或是想讓美觀的呈現簡報,最終卻顯得不那麼乾淨俐落。以下教大家運用AI工具讓大家可以有質感的呈現商務簡報: 首先了解圖表類型,商業圖表在呈現主要
Thumbnail
圖片來源 相信視覺化報表對於資料科學來說是非常重要的一環, 透過圖表來呈現資料的樣態, 過程中分析模型訓練時, 觀察訓練的收斂趨勢是否如我們預期, 視覺化加速我們的判斷時間, 節省找問題的成本。 數據就如同鐵證一般, 當我們常常苦於為什麼訓練出來的A模型這麼差勁,但B模型卻非常好, 這中間發生了
Thumbnail
圖片來源 相信視覺化報表對於資料科學來說是非常重要的一環, 透過圖表來呈現資料的樣態, 過程中分析模型訓練時, 觀察訓練的收斂趨勢是否如我們預期, 視覺化加速我們的判斷時間, 節省找問題的成本。 數據就如同鐵證一般, 當我們常常苦於為什麼訓練出來的A模型這麼差勁,但B模型卻非常好, 這中間發生了
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News