解决Python使用matplotlib绘图时出现的中文乱码问题

你好,我是悦创。


博客文章:https://www.aiyc.top/1897.html


最近再写 Python 万能代码模板系列文章,公众号:AI悦创,首发。


然后,写到可视化部分的知识的,出现一些小问题。


Python 中使用 matplotlib 绘图时发现控制台报如下问题,可知是中文字体问题:


解决Python使用matplotlib绘图时出现的中文乱码问题

解决方案一

只需设置下参数即可,设置代码如下:

解决Python使用matplotlib绘图时出现的中文乱码问题

例子

解决Python使用matplotlib绘图时出现的中文乱码问题解决Python使用matplotlib绘图时出现的中文乱码问题


如果想阅读,Python 万能代码模板,请关注公众号:AI悦创,来获取。近期持续更新!


解决方法二

原因:matplotlib 自带的字体库不支持中文


解决办法:下载中文字体>放入 matplotlib 字体库路径>修改 matplotlibrc 文件


仅此三步,不需要其他任何操作,不需要添加任何代码。


1. 下载中文字体

网上常用的中文字体是 SimHei,提供三个下载地址,其他字体可自行搜索下载。

解决Python使用matplotlib绘图时出现的中文乱码问题

2. 拷贝字体到 matplotlib 的字体库

1、查看 matplotlib 字体库路径,将 SimHei.ttf 文件放入其中

在当前 python 环境(所用 python 环境)下运行如下代码。

解决Python使用matplotlib绘图时出现的中文乱码问题

输出如下:

解决Python使用matplotlib绘图时出现的中文乱码问题

在上述路径后,删除:matplotlibrc 添加 /fonts/ttf,即可得到 matplotlib 字体库的路径为:

解决Python使用matplotlib绘图时出现的中文乱码问题

将下载的 SimHei.ttf 文件放到字体库路径下即可。

3. 修改 matplotlibrc 文件

解决Python使用matplotlib绘图时出现的中文乱码问题

matplotlibrc 文件的路径即为上述代码的输出:

解决Python使用matplotlib绘图时出现的中文乱码问题

找到 font.seriffont.sans-serif 所在位置,如下如所示。在冒号后面加入 SimHei ,保存退出,大功告成。解决Python使用matplotlib绘图时出现的中文乱码问题

一般 matplotlib 会默认使用 “font.serif:” 后面的字体(排在第一位的),所以如果想换成其他字体,将其他字体名字放在 “font.serif:” 后面即可


注:网上有的帖子讲需要删除这两行前面的“#”符号,在本人的测试中不需要删除,也不需要其他操作,只要按照上述流程操作即可解决中文显示乱码问题,good luck!如果真的解决不了,可关注留言。



上一篇:Python图书管理系统|Python获取系统时间详解!(二)


下一篇:如何创建 Python 库(三)