Linux、Mac osx 系統中,出現 matplotlib 或 seaborn 繪圖中有中文亂碼的情形,可以考慮使用以下方式處理:
- 到 anaconda 的 matplotlib 中查看是否有 simhei.ttf 字體:
-
cd ~/anaconda3/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf ls -al | grep simhei
-
- 如果沒有,從 windows 中用 everything 搜索全局文件,找到 simhei.ttf,並將其上傳到linux 的 matplotlib 的 fonts/ttf 文件夾
- 修改配置文件~/anaconda3/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc 文件, 將該文件拷貝到.cache/matplotlib 目錄下,並找到以下兩行,改為如下:
-
-
font.family : sans-serif font.sans-serif : simhei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
-
- (linux)刪除~/.cache/matplotlib/目錄下的 fonts cache list
- 代碼設置 matplotlib 和 seaborn 的環境
-
import matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['simhei'] mpl.rcParams['font.serif'] = ['simhei'] import seaborn as sns sns.set_style("darkgrid",{"font.sans-serif":['simhei','Droid Sans Fallback']})
-
參考: