06 進階

樣式與美學:style、rcParams、colormap、中文字型

套用內建 style sheet、用 rcParams 設全域預設、用 colormap 為連續數值上色,並一次解決 matplotlib 中文顯示成豆腐 □□□ 的經典問題。

樣式與美學:style、rcParams、colormap、中文字型 範例輸出

這堂課的完整程式碼在 Jupyter notebook 裡。點下面按鈕在 Colab 開啟,就能直接執行、修改、實驗——你的修改不會動到原檔。

最後一課,把圖從「能看」升級到「好看又專業」——並解決華語使用者一定會踩到的中文字型坑。

這堂課你會學到

  • 一行套用內建 style sheet 改變整體風格
  • rcParams 設全域預設
  • colormap 為連續數值上色
  • 解決 matplotlib 的中文字型問題

一行換風格

with plt.style.context("ggplot"):   # with 區塊內套用,離開即恢復,不污染其他圖
    fig, ax = plt.subplots()
    ...

可選的還有 seaborn-v0_8bmhfivethirtyeightdark_background,用 plt.style.available 看全部。

全域預設 rcParams

plt.rcParams["axes.grid"] = True       # 之後每張圖都套用
plt.rcParams["lines.linewidth"] = 2.2

中文字型:解決豆腐 □□□

matplotlib 預設字型沒有中文字。解法是指定一個含中文的字型:

# Colab 先安裝(只需一次):
# !apt-get -qq install fonts-noto-cjk

import matplotlib
matplotlib.rcParams["font.sans-serif"] = ["Noto Sans CJK TC"]  # macOS 可用 "PingFang TC"
matplotlib.rcParams["axes.unicode_minus"] = False               # 否則負號也會變方塊

兩個地雷:axes.unicode_minus = False 一定要設;設了還是方塊通常是字型名稱拼錯,或 Colab 忘了先 apt-get install。上面的預覽圖就是設好中文字型後的成果。

🎉 走完這六課,你已經能畫出清楚、專業、會說中文的圖了。

👉 進 Colab 挑一套喜歡的 style,配上中文字型,把第 02 課的多線圖重畫成全中文版本。

#matplotlib #style #rcParams #colormap #中文字型

留言 0

留言載入中…