大家是否有遇過當使用matplotlib時,遇到顯示不出中文或是中文為亂碼的問題。無論是在Anaconda內使用matplotlib或是直接在Python安裝環境內使用matplotlib,基本解決方式是一樣的。本文將以簡單與條列方式描述在Linux 或是 Windows 解決方法。
1. 下載字型的來源
https://www.fontpalace.com/font-download/SimHei/
2. 字型安裝
執行python command, 並以下列方式找到matplotlib放置ttf字型檔位置與設定檔
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
根據下列不同環境的執行結果內放置ttf字型檔
Windows:
放到: C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\matplotlib\mpl-data\fonts\ttf
修改設定檔 C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\matplotlib\mpl-data\matplotlibrc
Linux:
放到: /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf修改設定檔 /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/matplotlibrc
Anaconda:
放到: /opt/conda/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf修改設定檔 /opt/conda/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
3. 設定檔matplotlibrc修改方式
font.family : sans-serif
font.serif : SimHei <== 增加此項目
範例如下:
4. 重新載入字體
>>> from matplotlib.font_manager import _rebuild
>>> _rebuild()