Mac用戶如何解決matplotlib發生圖例中文亂碼問題

Mac用戶如何解決matplotlib發生圖例中文亂碼問題

來自專欄 Matplotlib使用經驗3 人贊了文章

2018.04.14 問題解決心得

首先,由於學習教材以及網上的解答內容大部分都是為windows的夥伴使用,因此身為一個Mac的用戶在學習編程會遇到問題。就連教你使用matplotlib的人也會有不知道怎麼辦的時候。因此我自己上網研究以及請教一些學習小夥伴後得出來的解決辦法整理如下,望將來學習matplotlib的Mac用戶不會再失去理智差點直接買一台windows電腦的念頭。


問題:matplotlib發生圖例中文亂碼問題

如題,在Jupyter Notebook使用Python import mayplotlib做可視化圖表時,第一次做出來會出現中文字無法顯示,而顯示的像是豆腐一樣的白色小方格們

首先這裡已經有個參考連接可以查看:

Mac python3 matplotlib中文亂碼解決?

www.jianshu.com

如果看不懂可以直接看我以下實際的操作,我使用的環境為anaconda3 - python3.6

1. 下載字體SimHei並完成安裝

Download SimHei Font?

www.fontpalace.com圖標

2. 複製字體到matplotlib字體目錄下的ttf文件里

/Users/alice/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf #請自行尋找自己Username的matplotlib字體目錄

3. 修改matplotlibrc文件內容

文件路徑:/Users/alice/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc #請自行尋找自己Username的matplotlibrc文件

打開文件:

(1) 將以下font.family和font.sans-serif前面的#去掉

(2) 在font.sans-serif:後面新增SimHei

(3) 同時將找到axes.unicode_minus,將True改為False,作用就是解決負號-顯示為方塊的問題。

操作完成如下

font.family : sans-seriffont.sans-serif: SimHei(新安裝的字體), DejaVu Sans, Bitstream Vera Sans, Lucida Grande,Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif#axes.unicode_minus : False

4. 刪除tex.cache和fontList.json

在新的視窗(Shift+Command+G)搜尋以下路徑

/Users/Alice/.matplotlib #請改成自己的Username

將tex.cache和fontList.json全刪除

5. 重啟運行JupyterNotebook,即可看到中文

操作結束。


推薦閱讀:

Mac 系統下安裝配置MySQL的方法
為什麼說 iOS 和 macOS 合併這事不靠譜?
WireframeSketcher Mac破解版附註冊碼
mac的多桌面不能跟win一樣嗎,每個space擁有自己打開的dock 欄,而不是公用一個dock欄?
pip3使用異常? No module named pip?

TAG:Mac | Matplotlib | 中文亂碼 |