欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-21 11:06:07
...
第一次用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文件夹下面
matplotlib图例中文乱码 MAC解决方法

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'] # 指定默认字体

相关标签: matplotlib 中文