matplotlib在MAC系統下中文字型顯示問題

2022-03-18 22:35:44 字數 1165 閱讀 6744

最近想把部分python資料分析的**從win系統遷移到mac上,有部分上涉及中文顯示,遷移到mac上warning:

userwarning: 

findfont: font family [u'sans-serif'] not found. falling back to bitstream vera sans

(prop.get_family(), self.defaultfamily[fontext]))

然後中文字型各種方塊,我本來的字型設定**是這樣的:

def plot_para():#設定畫圖引數及相關配置,如透明度,中文顯示

mpl.rcparams['font.sans-serif']='simhei'

mpl.rcparams['font.family']='sans-serif'

mpl.rcparams['axes.unicode_minus']=false

網上給出了各種解決方案,總結下來無外乎下面兩種:

1.安裝對應字型,比如我的是微軟雅黑

2.將simhei.ttf拷貝到matplotlib的ttf資料夾下並刪除快取資料夾

很遺憾這兩種對我都不work,從stackoverflow查詢到了下面比較笨重的解決方案,算是暫時解決了問題。

def plot_para():#設定畫圖引數及相關配置,如透明度,中文啥啥的

mpl.rcparams['axes.unicode_minus']=false

#手動設定字型路徑

return fontproperties(fname='/users/wanghongbo8/library/fonts/msyh.ttf')

#在設定繪圖的部分指定fontproperties,比如

plt.ylabel(u't+4有效與t+1有效 gmv 比值',fontproperties=plot_para())

至此mac繪圖中文顯示無誤,但是這個方法比較笨,在涉及中文的部分都要手動指定fontproperties,當然可以通過函式過載來解決,卻也有點高射炮打蚊子的意味,報錯的原始碼位於matplotlib的:

matplotlib/font_manager.py:1236行

看到此問題的朋友有能力可以深究一下原因,我個人如果解決了會更新此文。

Matplotlib筆記 多個座標系顯示

import matplotlib.pyplot as plt import random 1.準備資料 x range 60 y shanghai random.uniform 15,18 for i in x y beijing random.uniform 1,3 for i inx 2.建立...

Mac 下設定matplotlib顯示中文

mac 下設定matplotlib顯示中文 2019.01.13 22 28 48 字數 80 閱讀 284 由於mac系統自帶有中文字庫,arial unicode ms即為其中一種。不需要安裝字型檔,不需要修改配置檔案。import matplotlib.pyplot as plt plt.rc...

在pycharm中matplotlib的曲折安裝路

2.2 這時候安裝了matplotlib之後,你用pycharm測試一下是否成功了,也就是import matplotlib,肯定沒成功,因為之前安裝pygame就是這樣。這時候你需要從site packages資料夾裡,複製matplotlib的安裝檔案,也即是這兩個 2.3 如果之前路徑配置的對...