【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
120會員
269內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
在進入主題之前建議先行閱讀「【程式語言 - Go】來認識Google開發的程式語言…」,初步認識一下Go語言是什麼? 容不容易學習? 才能夠更快的體會此篇章的目的。 當我們在進行軟體開發時,常常會需要有背後的資料庫系統來儲存我們的資料,而資料庫系統也會隨著時代的演進,進行大幅度的更新,那在這樣
Golang(Go)是由Google開發的一種開源的、靜態型別的編程語言,目的在提供一個簡單、高效、安全以及易於擴展的程式語言,特別適用於並發和平行處理,Go語言設計上著重於開發者的生產力,並提供了現代化的語法和豐富的標準庫。 強調簡單易讀,讓我們回歸原始以最簡易的方式來撰寫程式,併發的特性讓日趨
常常我們在財經節目聽到一堆技術指標都可以成功獲利,但真的如此嗎? 這麼簡單的技術指標操作就能獲利,早就人人變成有錢人了! 相信數據會說話,身為軟體工程師就最喜歡用數字來解讀一切了,因此這個篇章將會手把手教你如何使用Python語言來回測你的股票及交易策略。 剛接觸股市時最常聽到的就是KD、RSI、
我們前篇有介紹到如何讓資料視覺化「📈【Google Colab Python系列】以Goodinfo為例,將資料視覺化吧!」,過程中雖然我們的報表呈現皆使用英文字眼,但假若欲繪製中文進行呈現時就會發生以下狀況: import matplotlib.pyplot as plt data = [l
上一篇我們有介紹如何爬取Goodinfo的資訊並統計分析,還沒閱讀的朋友建議先行閱讀,再進入此篇章會比較容易上手唷,傳送門如下: 🚪【Google Colab系列】以Goodinfo!為例,統計一段時間內的最高、最低殖利率 為什麼要做資料視覺化? 相信圖文甚至影音箱對於文字來說更為吸引我們進
JavaScript 中的 ESM(ES Modules)和 CJS(CommonJS)是用於模塊化開發的兩種不同的模組系統。 關於CJS CJS 是 CommonJS 的模塊系統,最初是為了在伺服器端使用的 Node.js 開發而設計的,但也被廣泛用於前端開發。CJS 使用 require 函數來
在進入主題之前建議先行閱讀「【程式語言 - Go】來認識Google開發的程式語言…」,初步認識一下Go語言是什麼? 容不容易學習? 才能夠更快的體會此篇章的目的。 當我們在進行軟體開發時,常常會需要有背後的資料庫系統來儲存我們的資料,而資料庫系統也會隨著時代的演進,進行大幅度的更新,那在這樣
Golang(Go)是由Google開發的一種開源的、靜態型別的編程語言,目的在提供一個簡單、高效、安全以及易於擴展的程式語言,特別適用於並發和平行處理,Go語言設計上著重於開發者的生產力,並提供了現代化的語法和豐富的標準庫。 強調簡單易讀,讓我們回歸原始以最簡易的方式來撰寫程式,併發的特性讓日趨
常常我們在財經節目聽到一堆技術指標都可以成功獲利,但真的如此嗎? 這麼簡單的技術指標操作就能獲利,早就人人變成有錢人了! 相信數據會說話,身為軟體工程師就最喜歡用數字來解讀一切了,因此這個篇章將會手把手教你如何使用Python語言來回測你的股票及交易策略。 剛接觸股市時最常聽到的就是KD、RSI、
我們前篇有介紹到如何讓資料視覺化「📈【Google Colab Python系列】以Goodinfo為例,將資料視覺化吧!」,過程中雖然我們的報表呈現皆使用英文字眼,但假若欲繪製中文進行呈現時就會發生以下狀況: import matplotlib.pyplot as plt data = [l
上一篇我們有介紹如何爬取Goodinfo的資訊並統計分析,還沒閱讀的朋友建議先行閱讀,再進入此篇章會比較容易上手唷,傳送門如下: 🚪【Google Colab系列】以Goodinfo!為例,統計一段時間內的最高、最低殖利率 為什麼要做資料視覺化? 相信圖文甚至影音箱對於文字來說更為吸引我們進
JavaScript 中的 ESM(ES Modules)和 CJS(CommonJS)是用於模塊化開發的兩種不同的模組系統。 關於CJS CJS 是 CommonJS 的模塊系統,最初是為了在伺服器端使用的 Node.js 開發而設計的,但也被廣泛用於前端開發。CJS 使用 require 函數來
你可能也想看
Google News 追蹤
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Matplotlib 是 Python 中最流行且功能強大的資料視覺化工具之一。它能夠生成各種靜態、動態及互動式的圖表,是資料分析與科學計算的重要組成部分。在本教學中,我們將詳細介紹 Matplotlib 的核心功能,並以範例逐步展示如何繪製基本與進階圖表。
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
Thumbnail
本文將介紹如何利用Python進行資料分析並繪製圓餅圖。
Thumbnail
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
Thumbnail
本文介紹了如何使用資料樞紐分析的功能來整理所需的資料,並設定圖表的中文字型,最後提供了繪圖的程式碼範例。
Thumbnail
Tableau是一款數據視覺化工具,目的在於簡化數據分析和決策過程。通過直觀的可視化介面,讓人們無需編程也能進行數據探索和分析。支持多種數據源,包括Excel、SQL數據庫等,透過拖放操作創建圖表和儀表板,分享洞察見解。幫助使用者和組織更加數據驅動,優化決策和業務流程
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Matplotlib 是 Python 中最流行且功能強大的資料視覺化工具之一。它能夠生成各種靜態、動態及互動式的圖表,是資料分析與科學計算的重要組成部分。在本教學中,我們將詳細介紹 Matplotlib 的核心功能,並以範例逐步展示如何繪製基本與進階圖表。
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
Thumbnail
本文將介紹如何利用Python進行資料分析並繪製圓餅圖。
Thumbnail
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
Thumbnail
本文介紹了如何使用資料樞紐分析的功能來整理所需的資料,並設定圖表的中文字型,最後提供了繪圖的程式碼範例。
Thumbnail
Tableau是一款數據視覺化工具,目的在於簡化數據分析和決策過程。通過直觀的可視化介面,讓人們無需編程也能進行數據探索和分析。支持多種數據源,包括Excel、SQL數據庫等,透過拖放操作創建圖表和儀表板,分享洞察見解。幫助使用者和組織更加數據驅動,優化決策和業務流程