matplotlib图例中文乱码 MAC解决方法

第一次用matplotlib画图,结果做出图片的中文部分显示方框,看了下文档,发现标题部分可以通过设置字体属性解决,但是图例不支持设置字体,然后开始在网上寻找解决方法,终于找到了对本人有用的。原文链接
Pyhton版本 3.6 , 系统MacOS

1、下载中文字体(黑体,看准系统版本)

SimHei - Free Font Downloadwww.fontpalace.com

2、解压之后在系统当中安装好,打开字体册就可以安装了,Windows的在网上搜一下吧

3、找到matplotlib字体文件夹,例如:matplotlib/mpl-data/fonts/ttf

本人用的anaconda3,所以路径在

anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
将SimHei.ttf拷贝到ttf文件夹下面

4、修改配置文件matplotlibrc 在matplotlib/mpl-data目录下面,修改下面三项配置

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:False,#作用就是解决负号'-'显示为方块的问题

到这一步,代码里面还是会报错,画图还是会显示方块

5、最重要的一步来了,改了配置之后需要重新加载字体,在Python中运行如下代码即可:

from matplotlib.font_manager import _rebuild

_rebuild() #reload一下

6、代码部分

#-*-coding:utf-8-*-
#文件名: ch.py
from pylab import mpl

def set_ch():
    mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体

猜你喜欢

转载自blog.csdn.net/caorya/article/details/79946572