matplotlib图例中文乱码 MAC解决方法
程序员文章站
2022-03-21 11:06:07
...
第一次用matplotlib画图,结果做出图片的中文部分显示方框,看了下文档,发现标题部分可以通过设置字体属性解决,但是图例不支持设置字体,然后开始在网上寻找解决方法,终于找到了对本人有用的。原文链接 |
Pyhton版本 3.6 , 系统MacOS
1、下载中文字体(黑体,看准系统版本)
SimHei - Free Font Downloadwww.fontpalace.com2、解压之后在系统当中安装好,打开字体册就可以安装了,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'] # 指定默认字体
上一篇: CentOS 6.X 安装中文字体
下一篇: Ajax 实现网站劫持的检测方法