介紹
當我們用matplotlib畫圖時會發現一個問題,那就是當我們想要在圖中顯示中文時會變成亂碼,像是下面的例子
1 | import matplotlib.pyplot as plt |
注意在下方的中文字成為了方塊。
- 原因在於matplotlib沒有原生支援中文字型
下載字型
我們這邊先下載一個開源的中文字型,這邊我們採用的是一個開源可商用的中文字型-台北黑體
- 選擇下載TaipeiSansTCBeta-Regular這個ttf檔案
檢查 font 位置
1 | import matplotlib |
在我的系統中,結果是在 /usr/lib/python3.8/site-packages/matplotlib/__init__.py
1 | $ ls -l /usr/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf |
可以看到系統中現有的 font 字型檔,所以我們要把下載的字型檔放上面的目錄中。
清除原來的 matplot 的 cache
1 | $ rm -r ~/.matplolib |
檢查載入的字型
1 | import matplotlib.font_manager |
可以看到我下載的 ‘Taipei Sans TC Beta’ 出現了。
驗證字型
也要修改一下程式
1 | import matplotlib.pyplot as plt |