2025/06/26

matplotlib 畫圖中文字變方框怎麼辦?

在 Python 程式裡常會用 matplotlib 畫圖,但很困擾的是中文都會變成方框框。

matplotlib 畫的圖中文字變方框框
圖、matplotlib 畫的圖中文字變方框框

這是因為 matplotlib 預設字體是 DejaVu Sans,所以無法顯示中文。既然是預設字體的問題,那我們就改一下字型。要改用字型顯示也不難,只要在畫圖指令前用 rcParams 指定中文字體即可。

import matplotlib.pyplot as plt
    
# 指定字型為 SimHei
plt.rcParams['font.family'] = ['SimHei']

# 這招在 google colab 行不通
# google colab 要用蔡炎龍老師提供的方法

指定中文字型後,matplotlib 就可以正確的顯示中文了。

指定字型後 matplotlib 中文顯示正常
圖、指定字型後 matplotlib 中文顯示正常

不過我們不滿足,希望除了 SimHei 字型外,還能使用更多自己喜歡的字體,要怎麼辦?

嗯,這就要看你想在哪個平台的 matplotlib 顯示中文了,方法都不太一樣。

  • Excel
  • Anaconda Jupyter Notebook
  • Google Colab

2025/06/15

如果評量總是強調平均分,你是否錯過了學生真正的努力軌跡?

期末考後,幾個老師聊到一位成績僅達及格邊緣的學生。有人說:「他的平均才 61,這樣也能算進步嗎?」

但如果我們拉出一張趨勢圖,會發現他期初成績是 38。短短三個月內,他整整提升了 23 分。而我們的評量系統——依舊只回報一個靜止的平均數字。

我們是不是過度信任平均值,以至於錯過了學生真正努力的軌跡?

一個「平均值」的幻覺

  • 平均值會隱藏「變化趨勢」:
    兩位學生平均都是 70,但一位從 90 掉到 50,另一位從 50 漲到 90。你還覺得他們一樣嗎?
  • 平均值不代表「典型」:
    在偏態分布的資料中,平均值往往並不接近大多數學生的真實表現。
  • 平均值缺乏情境性:
    一個寒假輔導班讓學生進步 20 分,和另一位平穩維持 80 分,這兩者是否該用相同的標準評價?

轉向「成長曲線」思維

與其只看最終平均,不如也考慮「變化率」與「學習斜率」。你可以嘗試以下 Excel 技巧讓評量更有脈絡感:

2025/05/10

哪些學生適合唸資訊系?

一部份的高三學生現在要到大學進行面試,高中部的輔導老師請我幫一些有意申請資訊、電機科系的同學進行模擬面試。

看了他們的書面資料後,覺得學生對於他自己要申請的科系完全不瞭解,貼了幾個範例程式碼就要說自己對資訊科系有興趣……所以我有一些話想對他們說。


很多同學提到在開學前這段時間想加強程式語言的練習,特別是 Python。熟悉語法當然是好事,但其實程式語言的學習在整個資訊或資工領域中只佔了極小的一部分。

你去看看各大學資工系的課程就會發現,真正學習「程式語言」的課,大多只出現在大一上學期,而且通常只有一門。後續雖然會有像組合語言這類的課程,但數量不多,有些甚至是選修。

學習 Python 的過程中,你學到了什麼?可能就是變數、陣列、條件判斷(if)、迴圈(for)、檔案讀寫等內容而已。這些內容換成 C 或 C++ 語言學習也差不多,甚至在國小、國一學習 Scratch 積木語言時,學的也是這些基本概念。所以,關鍵其實不在「語法」,而在於「背後的邏輯思維」

資訊系在唸什麼

如果資訊系重點不是在學程式語法,那資訊系在研究什麼呢?

不論是資訊工程系還是資訊管理系都面臨了一個問題:「如果沒有念資訊的人也能寫程式,那我們資訊人的價值在哪裡?」

答案是:資訊系訓練出來的人,能寫出效能更高、結構更嚴謹的程式——往往是他人的 10 倍、甚至 100 倍。

換句話說,資訊系的畢業生擅長用更有系統、更高效率的方式來解決問題。

2025/02/07

提升開發效率:Cursor AI Editor 隨身版安裝指南!

Cursor AI Editor 是修改自 VS Code 的程式碼編輯器,除了原本 VS Code 的功能,還額外加上了 AI 支援,非常的方便,所以很多人開始跳槽至 Cursor 了。用久了之後就會希望將 Cursor 安裝為 portable 版,這樣才能放在隨身碟裡帶來帶去,走到哪裡都能使用習慣的編輯器以及習慣的配置編輯程式。

這當然沒問題,而且方法很簡單。