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

【matplotlib】解决中文变成框的显示问题

程序员文章站 2022-03-01 22:16:03
...

环境:macos  anaconda3/python3.6

参考:1 matplotlib图例中文乱码?

1 下载中文字体SimHei

2 将下载好的simhei字体文件SimHei.ttf拷贝到matplotlib字体文件夹(matplotlib/mpl-data/fonts/ttf)里

这里要查找你使用的matplotlib的pakage是下载到了哪里,可以在python中通过使用以下方式查询

import  matplotlib
print(matplotlib)

我自己的matplotlib路径是/Users/xxx//anaconda3/lib/python3.6/site-packages/matplotlib/

3 vim修改配置文件matplotlibrc (路径matplotlib/mpl-data)

我自己打开这个配置文件发现全部都是被#注释了的

将下面三行前的#注释去掉,并在font.sans-serif里加上SimHei,axes.unicode_minus配置为False

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

4 改了配置之后并不会生效,需要重新加载字体,在Python中运行如下代码

from matplotlib.font_manager import _rebuild

_rebuild() #reload一下