Ubuntu18.04 解决matplotlib绘图中文乱码方法


本博客介绍的是如何在使用 matplotlib 绘图的时候,正常显示中文。
读者可能遇到过这样的问题,使用matplotlib 绘制图像的时候,英文可以正常显示,但是中文显示不正常,一堆方块。问题原因在于默认没有中文字体库,所以解决的办法是下载中文字体,然后修改配置文件。具体方法下面将可以看到。

下载字体文件

本人使用的是 SimHei 字体,ttf 文件下载地址如下:SimHei字体下载

安装字体文件

进入到下载目录,移动或者复制字体文件到 /usr/local/share/fonts

sudo cp simhei.ttf /usr/local/share/fonts

修改配置文件

注意,这里修改的是matplotlib 的配置文件,运行下面的代码,找到配置文件所在的地址:
在这里插入图片描述
在 Vim 的命令模式下,输入 /font.family ,回车,按 n 查找下一个,找到如图所示的行,按a 进入编辑模式,取消该行的注释(将前面的# 去掉即可)将该行修改为如图所示:
在这里插入图片描述
按 ESC 回到命令模式,输入 /font.serif ,回车,找到如下的行,然后将它的注释取消。最终的效果如图:

在这里插入图片描述

除此之外,还应该再改一个参数,不然坐标轴上的负号将无法正常显示:
按照同样的办法将axes.unicode_minus 修改为 False(默认是True)如图所示:
在这里插入图片描述

清空缓存:

rm -rf ~/.cache/matplotlib/fontList.json

测试一下:

打开一个 notebook:
在这里插入图片描述
搞定,顺利解决!

发布了45 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_38863413/article/details/102662573