解決matplotlib在MAC系統下中文字體顯示問題報錯:Font family [‘sans-serif‘] not found.Falling back to DejaVu Sans.


報錯

findfont: Font family [u'sans-serif']notfound. Falling back to Bitstream Vera Sans 
這是因為matplotlib 是沒有中文字體的,需要我們手動安裝



在網上搜索了解到基本上大家都是在安裝matplotlib后才會遇到報錯,若我們mac上沒有安裝matplotlib 可以在python終端下輸入 pip install matplotlib 進行安裝

- 運行命令行終端,輸入’python‘進入python編輯
- 輸入 import matplotlib
- 輸入 matplotlib.matplotlib_fname()
目錄在 .../matplotlib/mpl-data/fonts/ttf中,前面的路徑會因為每個人的python安裝路徑不同有所區別,我本人的字體存放目錄的完整路徑如下
/usr/local/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf

1.可以在這個地址下載

https://www.fontpalace.com/font-download/SimHei/

 

2.下載好之后把下載個好的字體放到ttf文件夾下

command + shit+g

把上面那個文件路徑輸入

 

3.將matplotlib的字體緩存文件刪除

cd ~/.matplotlib/
rm -rf fontList.py3k.cache

4.有的人在刪除緩存重啟一下Python之后就可以了,但是我的不行

  在這里看到大佬的文章修改/site-packages/matplotlib/mpl-data/matplotlibrc

  但是我打開這個文件是亂碼,所以用不了這個方法,

附上鏈接:
https://zhuanlan.zhihu.com/p/40931776

5.最后找到了一個臨時的解決方法

在Python代碼中添加以下代碼

# fname 為字體文件路徑
    import matplotlib
   myfont = matplotlib.font_manager.FontProperties(
    fname=r'/usr/local/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf')

鏈接:https://www.cnblogs.com/bhlsheji/p/5349786.html

重新運行一下項目

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM