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.  

 

posted @ 2018-05-15 15:04  newAdmin  阅读(866)  评论(1编辑  收藏  举报