一备典、 解決字體問題
很多文章都講了matplotlib中文亂碼的問題诫欠,但是有一個(gè)關(guān)鍵問題忽略了升薯,就是字體拷貝的問題莱褒,這也是我會(huì)寫這篇簡(jiǎn)書的原因。
我的環(huán)境:
os:deepin15.5 64位
python:anaconda2
- 找到win7下的字體
我找到的字體是 “ 仿宋GB2312.tff”涎劈,
重點(diǎn) :
- 字符名并不是“仿宋GB2312.tff”广凸,這是我總是出差的根源,打開該tff文件查看
- vim 仿宋GB2312.tff 雖然大部分是亂碼蛛枚,但是還是可以看見“(C) Copyright GreatWall Computer Co. 1994FangSong_GB2312RegularFangSong_GB2312”的字樣谅海,記住了說明這個(gè)字體的名稱是“FangSong_GB2312”
- 拷貝字體
- 找到matplotlib的字符路徑
我的環(huán)境是“anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/tff”
如果你不知道,可以ipython下用下面的命令找到matplotlibrc文件蹦浦,fonts文件夾和這個(gè)文件同目錄
>>> import matplotlib
>>> print matplotlib.matplotlib_fname()
二扭吁、 執(zhí)行時(shí)用配置的方法解決中文問題
這部分很多文章講了,這里就簡(jiǎn)單一點(diǎn)
mpl.rcParams['font.sans-serif'] = ['FangSong_GB2312']
如果出現(xiàn):
UserWarning: findfont: Font family [u'sans-serif'] not found
這是字符名稱沒找到的問題, 請(qǐng)參考第一部分
三盲镶、修改配置文件侥袜,解決問題
請(qǐng)參考: