1. 程式人生 > >Matplotlib圖例中文亂碼

Matplotlib圖例中文亂碼

環境:win10 + Python3.6(anaconda) + IDE(Pycharm)

問題:在使用matplotlib繪製圖表時中文字元出現亂碼(已作配置, 出錯截圖就不展示了)

解決辦法:

一、在Python檔案中使用matplotlib繪圖時加入以下兩行(import matplotlib.pyplot as plt)

  • plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標籤
  • plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號

據說這種方法每次都要手動修改,非常不方便,但其實只有兩行我倒是覺得還可以接受

二、修改配置檔案,一次性解決

  • 你的目錄\envs\你使用的環境名\Lib\site-packages\matplotlib\mpl-data

  • 我看其他的教程裡都說了要下載SimHei.ttf字型庫,並安裝到fonts目錄下(這一步我沒有做,因為以方法中也是使用的SimHei字型,但並不需要下載字型庫,說明系統裡是有的,但具體怎麼呼叫的我就沒必要操心了)
  • 直接修改配置檔案matplotlibrc(修改之前記得儲存副本,以免出現錯誤無法恢復)
  • 開啟matplotlibrc檔案,找到font.family和font.sans-serif這兩行,去掉最前面的註釋#,並在font.sans-serif這一行值中新增字型(黑體):SimHei
  • 有的座標軸的負號顯示不正常,我們還要找到axes.unicode_minus這一行,去掉最前面的註釋#,並把值設為False

  • 刪除usr/.matplotlib(不知道有沒有必要,反正我是沒刪除就成功了)