最近想把部分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 如果之前路徑配置的對...