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

更新於 2023/07/24閱讀時間約 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
116會員
261內容數
哈囉,我是阿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
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
現實生活中沒有小叮噹,但有萬能的觀世音菩薩,認識觀世音菩薩的入門經籍是〈普門品〉,文章是我的三點心得。
Thumbnail
如果你喜歡這個專題,歡迎 #單筆 或 #定期定額 贊助我們,這將能支持我們持續關心並投入媒體環境監督觀察、兒少閱聽權益、關注新聞自由等工作,謝謝你一直以來的支持與鼓勵!
Thumbnail
今天艾兒莎要跟大家分享的就是《零盲點的決定力》這本書裡所提到的原則,也是Google、Amazon在聘雇人才時最重視的準則!所謂的「零盲點決定力」是什麼呢?清楚掌握自己有多少的知識和資訊,並正確理解自己不懂什麼。如果想提升自己的決定力,盡可能做對每個決定,就必須得先設法意識到自己的「盲點」!
Thumbnail
現代人遇到問題,就會Google。單身一個人住,回到家覺得空虛寂寞、覺得冷,於是上Google輸入:「排解寂寞」。如果喉嚨痛,會打「喉嚨痛」;發現男友出軌,很想知道原因,會打「男友出軌原因」,還有各式各樣的問題,包括但不限於:健康、家庭、經濟、政治、職場、生日要送什麽禮物、約炮、旅遊建議、學校功課答
Thumbnail
最近發現很多艾寶都在計劃年後轉職,常常會私訊詢問我「履歷要怎麼寫?」、「為什麼我的履歷投出去都石沈大海?」其實,在寫履歷時,我們不能只想著「我想說什麼」,而是要想辦法了解人資的需求。最近我剛好在讀一些相關的資料,其中一個Google人資的經驗分享我覺得很有價值,跟大家來分享。
Thumbnail
許多產業觀察者都認定,包括智慧手錶、手環等產品的「穿戴式裝置」將會是下一個兵家必爭之地,而Apple、小米等大公司也早已在這個目前還小的市場中站穩腳步。Google當然也不會坐視,但先前併購Fossil團隊之後,再買Fitbit的真正原因與目的究竟是什麼?
Thumbnail
許多人都一直在使用FB當主要的流量池投放廣告,卻忘了善用Google Map 也是一個很有用的資訊,尤其是開設實體店 本篇就以Google Map 為主,將從如何建立商家資訊的方法,至廣告投放的操作,一次說明~ 一、Google Map 商家資訊 建立商家資訊的方法有兩種 一種是直接進行商家資訊的
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
現實生活中沒有小叮噹,但有萬能的觀世音菩薩,認識觀世音菩薩的入門經籍是〈普門品〉,文章是我的三點心得。
Thumbnail
如果你喜歡這個專題,歡迎 #單筆 或 #定期定額 贊助我們,這將能支持我們持續關心並投入媒體環境監督觀察、兒少閱聽權益、關注新聞自由等工作,謝謝你一直以來的支持與鼓勵!
Thumbnail
今天艾兒莎要跟大家分享的就是《零盲點的決定力》這本書裡所提到的原則,也是Google、Amazon在聘雇人才時最重視的準則!所謂的「零盲點決定力」是什麼呢?清楚掌握自己有多少的知識和資訊,並正確理解自己不懂什麼。如果想提升自己的決定力,盡可能做對每個決定,就必須得先設法意識到自己的「盲點」!
Thumbnail
現代人遇到問題,就會Google。單身一個人住,回到家覺得空虛寂寞、覺得冷,於是上Google輸入:「排解寂寞」。如果喉嚨痛,會打「喉嚨痛」;發現男友出軌,很想知道原因,會打「男友出軌原因」,還有各式各樣的問題,包括但不限於:健康、家庭、經濟、政治、職場、生日要送什麽禮物、約炮、旅遊建議、學校功課答
Thumbnail
最近發現很多艾寶都在計劃年後轉職,常常會私訊詢問我「履歷要怎麼寫?」、「為什麼我的履歷投出去都石沈大海?」其實,在寫履歷時,我們不能只想著「我想說什麼」,而是要想辦法了解人資的需求。最近我剛好在讀一些相關的資料,其中一個Google人資的經驗分享我覺得很有價值,跟大家來分享。
Thumbnail
許多產業觀察者都認定,包括智慧手錶、手環等產品的「穿戴式裝置」將會是下一個兵家必爭之地,而Apple、小米等大公司也早已在這個目前還小的市場中站穩腳步。Google當然也不會坐視,但先前併購Fossil團隊之後,再買Fitbit的真正原因與目的究竟是什麼?
Thumbnail
許多人都一直在使用FB當主要的流量池投放廣告,卻忘了善用Google Map 也是一個很有用的資訊,尤其是開設實體店 本篇就以Google Map 為主,將從如何建立商家資訊的方法,至廣告投放的操作,一次說明~ 一、Google Map 商家資訊 建立商家資訊的方法有兩種 一種是直接進行商家資訊的