matplotlib 與 seaborn 中出現中文亂碼的解決方法

 
Linux、Mac osx 系統中,出現 matplotlib 或 seaborn 繪圖中有中文亂碼的情形,能夠考慮使用如下方式處理:
  1. 到 anaconda 的 matplotlib 中查看是否有 simhei.ttf 字體:
    1. cd ~/anaconda3/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf
      ls -al | grep simhei 
  2. 若是沒有,從 windows 中用 everything 搜索全局文件,找到 simhei.ttf,並將其上傳到linux 的 matplotlib 的 fonts/ttf 文件夾
  3. 修改配置文件~/anaconda3/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc 文件,
  4. 將該文件拷貝到.cache/matplotlib 目錄下,並找到如下兩行,改成以下:
    1.   
      font.family         : sans-serif
      font.sans-serif     : simhei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

       

  5. (linux)刪除~/.cache/matplotlib/目錄下的 fonts cache list
  6. 代碼設置 matplotlib 和 seaborn 的環境
    1.   
      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']})

       

 
參考:
相關文章
相關標籤/搜索