iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
自我挑戰組

用數據守護雙眼:生活型態對視力影響的探索性資料分析系列 第 2

雲端開局!使用 Google Colab 快速打造分析環境與中文繪圖設定

  • 分享至 

  • xImage
  •  

昨天我們確立了專案的主軸與30天藍圖,今天進入實作第一步:搭建雲端分析環境。

為了把精力聚焦在「數據探索」本身,避免卡在本機安裝 Python、設定環境變數或套件衝突的地獄中,我們全程使用 Google 提供的免費雲端運算平台 —— Google Colab。

一、決定工作環境:為什麼跳過本地端選Colab?
原本在考慮要在本機VS Code裝環境還是用Colab。考慮到之後可能會在不同電腦(學校、筆電)切換寫扣,加上這次主題聚焦在資料分析與視覺化,不需要跑超大模型,最後決定直接用Google Colab開局:

檔案直接綁在雲端硬碟,不用每次push/pull扣。

常用的pandas、seaborn、scipy雲端都預裝好了,省去一堆pip install繁瑣指令。

建立檔案命名為:Vision_Health_EDA_30Days.ipynb。

二、快速檢查預載套件版本
打開Notebook第一步,先跑一段腳本確認當前執行環境的套件版本:
https://ithelp.ithome.com.tw/upload/images/20260916/20178794OANpGTIByu.png
執行後會看到各套件的版本號,確認內建套件完全正常。

三、Matplotlib繪圖中文亂碼與除錯
Google Colab伺服器使用的是Linux系統,預設沒有安裝中文字型。如果不做設定,後續畫圖時標籤上的繁體中文會全部變成白色方塊(豆腐塊 □□□)。
解決這個問題時我嘗試了兩種解法,中間還踩了一個語法雷:
一開始嘗試用系統指令安裝開源字型,但Matplotlib快取沒有即時更新,圖表依然是亂碼。
接著我改用直接下載Google思源黑體 .otf 檔的方式,結果在註冊字型時噴出了一個錯誤:

AttributeError: module 'matplotlib.font_manager' has no attribute 'font_manager'

回去看程式碼,發現我在最上方寫了:

import matplotlib.font_manager as fm

此時fm就已經代表font_manager模組了。但我後面卻寫成了fm.font_manager.addfont(...),等於重複呼叫了兩次,而且把fontManager的大寫打錯,才會跳出找不到屬性的錯誤。

最終解決解法(成功顯示中文):
修正為直接呼叫fm.fontManager.addfont(...),完整修復程式碼如下:

# 1.下載Google思源黑體(繁體中文)
!wget -O NotoSansTC-Regular.otf https://github.com/googlefonts/noto-cjk/raw/main/Sans/OTF/TraditionalChinese/NotoSansCJKtc-Regular.otf

# 2.載入套件並註冊字型
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

font_path = 'NotoSansTC-Regular.otf'
# 注意此處:fm.fontManager的M是大寫,前面不要重複接 font_manager
fm.fontManager.addfont(font_path)
font_prop = fm.FontProperties(fname=font_path)

# 設定全域字型與負號修正
plt.rcParams['font.family'] = font_prop.get_name()
plt.rcParams['axes.unicode_minus'] = False

# 3.重新繪製測試圖
plt.figure(figsize=(7, 3))
plt.plot([1, 2, 3, 4], [10, 18, 14, 25], marker='o', color='#1f77b4', linewidth=2)
plt.title("視力保健 EDA:Colab 中文圖表顯示測試", fontsize=14)
plt.xlabel("時間(週次)", fontsize=12)
plt.ylabel("用眼疲勞指數", fontsize=12)
plt.grid(True, linestyle="--", alpha=0.5)
plt.show()

https://ithelp.ithome.com.tw/upload/images/20260916/20178794YHUWPETvI0.png
執行後能看到折線圖的標題、X軸與Y軸順利顯示出清晰的中文字體。

四、今日進度總結

  1. 完成Colab筆記本初始化與雲端備份設定。
  2. 驗證本專案所需的核心數據分析工具鏈運作正常。
  3. 解決了繪圖中文字型缺漏的棘手bug,並記錄了fontManager的呼叫雷點。

上一篇
專案啟航!為什麼我們需要用數據看懂視力危機?
下一篇
鎖定 Kaggle 真實數據!數位用眼資料集載入與 13 個核心欄位解析
系列文
用數據守護雙眼:生活型態對視力影響的探索性資料分析5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言