python matplotlib在mac os x 中如何显示中文,完美解决
一、 下载相关的中文字体 simhei 文件: 下载地址
二、通过以下代码查找matplotlib的数据存放位置:
import matplotlib print(matplotlib.matplotlib_fname())
我的目录为: /Volumes/05/anconda/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
三、打开上述目录,并将下载的字体文件 simhei.ttf 复制到 上述目录的 fonts/ttf/ 目录中
四、在上述目录中用sublime打开 matplotlibrc,找到 #font.sans-serif 开头的这一行,去掉 “#”,并加上 SimHei,如下
font.sans-serif : SimHei,DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
将 #axes.unicode_minus : True 去掉注释并改为False ,如果不修改,会导致坐标轴的负号显示不出来。
五、在 终端 执行 rm -rf ~/.matplotlib/* ,然后重启 python或ipython
花了一上午的时间弄这个,其他教程中说只需要 执行 rm -rf ~/.matplotlib/*.cache ,我发现不行,因为我们添加了新的字体,所以我们需要把那个json文件也删除。
报错信息:
a、当.../matplotlib/mpl-data/fonts/ttf中没有指定字体是执行时会出现如下错误
font_manager.py:1287: UserWarning: findfont: Font family [u'sans-serif'] not found.