iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0
生成式 AI

《AI 新手到職場應用:深度學習 30 天實戰》系列 第 5

視覺化基礎:用 Matplotlib 畫出你的第一張資料圖表

  • 分享至 

  • xImage
  •  

在學習數據分析的過程中,光是有整齊的資料表格還不夠。
我們的大腦其實更擅長處理 「圖像化」 的資訊,
因為用眼睛去看一個圖表,往往能比盯著一堆數字更快理解數據的意義。
這就是為什麼我們需要資料視覺化。
而今天要介紹的工具,就是 Python 中最常見的繪圖套件 —— Matplotlib


為什麼要用 Matplotlib?

如果我們只是用表格呈現資料,那麼當資料量變多時,就會顯得難以消化。

舉個例子來說,如果你有一份銷售數據統計表,上面有每天的銷售金額,
當超過一定天數時,光用眼睛去看這些數字,可能會很難馬上發現其趨勢。
可是如果我們將這些數字畫成一條折線圖,
我們一眼就能看出哪一天的銷售數值特別高、整體的趨勢是上升還是下降。

Matplotlib 就是幫我們做到這件事的工具。
它讓我們能夠很自由地畫出各種圖表,
像是折線圖、長條圖、散佈圖,甚至更進階的圖形。

雖然現在也有其他套件(像 Seaborn、Plotly)能讓圖表更漂亮,
但 Matplotlib 就像是基礎中的基礎,學會它之後,
你就能更容易理解其他套件的運作方式。


安裝與匯入:

在 Google Colab 裡其實已經內建了 Matplotlib,所以我們需要再額外安裝。
我們只需要使用該段程式碼引入它即可:

import matplotlib.pyplot as plt

在我們第一個範例中,我們使用 「pyplot」 這個模組來繪圖,
並且把它縮寫成 plt。
(Matplotlib 是整個套件,pyplot 是它裡面負責簡單繪圖的一個模組。
大部分入門教學(像我們現在學的折線圖、長條圖)都是用 pyplot 來完成的。)


第一張「折線圖」:

我們先隨便準備一組數據,假設是某位員工一週的工作時數。

import matplotlib.pyplot as plt

# 範例資料:週一到週日的工時
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
hours = [10, 10, 8, 8, 10, 0, 0]

# 繪製折線圖
plt.plot(days, hours)

# 加上標題與標籤
plt.title("Weekly Working Hours")
plt.xlabel("Day")
plt.ylabel("Hours")

# 顯示圖表
plt.show()

執行之後,你就會看到一張折線圖,
清楚地顯示這名員工在一週內每天工作的時數。(如下圖)
https://ithelp.ithome.com.tw/upload/images/20250917/20169196Dgp2xojM33.png


第一張「長條圖」:

我們也可以使用長條圖來查看每日工時,
程式碼如下:

import matplotlib.pyplot as plt

# 範例資料:週一到週日的工時
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
hours = [10, 10, 8, 8, 10, 0, 0]

#繪製長條圖
plt.bar(days, hours)

# 加上標題與標籤
plt.title("Weekly Working Hours (Bar Chart)")
plt.xlabel("Day")
plt.ylabel("Hours")

# 顯示圖表
plt.show()

就可以得到如下圖之長條圖了!
https://ithelp.ithome.com.tw/upload/images/20250917/20169196qRJc5pIqLi.png


今天我們主要學習了幾個重點:

-為什麼需要 Matplotlib : 枯燥的數字 --> 容易理解的圖表。

-如何匯入 Matplotlib : 直接 import matplotlib.pyplot as plt 。

-第一張圖表 :折線圖和長條圖。

接下來的課程,我會試著學習更多進階的視覺化技巧,
並且把它和職場常見的數據分析任務結合起來。


上一篇
資料處理必修:用 pandas 整理職場常見資料集
下一篇
深度學習框架比一比:TensorFlow 與 PyTorch 的選擇
系列文
《AI 新手到職場應用:深度學習 30 天實戰》8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言