python-matplotlib画图显示中文问题

                   python-matplotlib画图显示中文问题

本文操作在mac os 14系统下。

1、首先我们在python中运行以下命令来查看你的matplotlib所在位置,然后添加SimHei字体(simhei.ttf文件)。

matplotlib.matplotlib_fname()

下载simhei.ttf字体并安装,之后按照下面步骤首先将simhei.ttf拷贝到~python安装路径/site-packages/matplotlib/mpl-data/fonts/ttf目录中;

2、然后修改~python安装路径/site-packages/matplotlib/mpl-data/matplotlibrc文件。根据实际情况修改,找到如下两项,去掉前面的#,并在font.sans-serif冒号后面加上SimHei,保存退出。

font.family         : sans-serif       

font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande,Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif    
axes.unicode_minus,将True改为False,

#作用就是解决负号'-'显示为方块的问题。

3、删除缓存文件

rm -rf ~/.matplotlib/*.cache

4、代码加入以下几段

from matplotlib.font_manager import _rebuild
_rebuild()
#防止中文乱码问题
mpl.rcParams['font.sans-serif']=[u'SimHei']
mpl.rcParams['axes.unicode_minus']=False

#matplotlib不会每次启动时都重新扫描所有的字体文件并创建字体索引列表,
# 因此在复制完字体文件之后,需要运行下面的语句以重新创建字体索引列表。

5、大功告成,测试代码见https://www.jianshu.com/p/d1eeaa58ff4e(可以省略该文中其它几步)。

你可能感兴趣的:(Python,Mac)