天天看點

解決mac下jupyter中matplotlib中文無法顯示的問題

換了筆記本之後在jupyter中用matplotlib畫圖一直無法愉快的顯示中文,在網上苦苦查閱了許久,網上主流的方法有兩種:一種是下載下傳SimHei,将字型包放到matlotlib相關檔案夾下并修改配置檔案,另一種是每次畫圖都調用函數指定中文字型(在此不再對此兩種方法的實體實作方式進行贅述)。第二種稍顯笨重的方法自然無法讓人心悅誠服地使用,而第一種方法我卻屢試皆爽,不禁感到疑惑,别人是如何用這種方法操作成功的?

直到看到了某位老哥的一篇部落格,我才豁然開朗:既然SimHei字型在Mac下無法奏效,那我為何不選用一種Mac支援的中文字型,為何非要費這麼大功夫跟SimHei置氣?于是我選用了另一種簡單有效令人身心愉悅的方法——換字型。我放棄了使用SimHei,選擇Arial Unicode MS作為matplotlib的中文字型。

一次性方法:

永久方法:

與主流方法一的原理相同:

  1. 找到字型路徑
import matplotlib
print(matplotlib.matplotlib_fname())
           

我的路徑:/Users/pengtiantian/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

2. matplotlibrc正是需要修改的檔案

cd /Users/pengtiantian/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data
vim matplotlibrc
           

找到font.family與font.sans-serif(預設被注釋掉了),修改為

font.family: sans-serif
font.sans-serif: Arial Unicode MS, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
           

再找到後面的axes.unicode_minus,将True改為False(此項False,則matplotlib不會用中文字型顯示負号“-”)

axes.unicode_minus: False
           
  1. 接下來,删除緩存檔案:
rm -rf ~/.matplotlib/*
           
  1. 最後,重新開機jupyter核心,即可享用中文matloplib服務😊

    顯示效果如下圖:

    解決mac下jupyter中matplotlib中文無法顯示的問題

各位看官請笑納=w=

給自己看的小記

陷入某一死胡同中時,轉換思維未嘗不是一種快速解決問題的良方。

PS:有幫助記得點個贊哦,謝謝(〃‘▽’〃)

繼續閱讀