Python用matplotlib库画图中文和负号显示为方框的问题解决

解决Python中matplotlib 库画图中文和负号显示为方框的问题

注意:

语言版本:Python 3.10.4

编译器版本:PyCharm 2021.3.2

操作系统:Win11

前言

作者最近研究Python数据可视化的时候,就遇见了一些问题,那就是我在调用matplotlib库绘制我的图表时,设置图表标签的时候中文变成了空心方框。

问题如下图:

Python用matplotlib库画图中文和负号显示为方框的问题解决_第1张图片

出现这个情况的原因就是matplotlib中默认使用的字体没有中文字体,就会导致如下情况发生,如果你习惯用英文设置标签,那就没有什么影响,但是对于熟悉使用中文设置标签的人来说,就很烦恼,所以在我翻阅了一些网上的解决方法之后,发现了一个非常好的解决办法。

解决办法

1.先看看你安装的matplotlib中有没有中文字体

路径:C:\Users\你的用户名\ .matplotlib

找到之后,在这里我是使用Sublime Text打开的,其他的软件都可以

Python用matplotlib库画图中文和负号显示为方框的问题解决_第2张图片

如果找不到或者想要其他的字体,就就需要去网上下载安装相应的字体,请读者们自行去google

2.设置你需要的中文字体

在这里我推荐使用代码的方法定位,这样更加的方便快捷,代码如下:

import matplotlib

print(matplotlib.matplotlib_fname())

它运行的结果是:

C:\Users\你的用户名\你的Python安装路径\site-packages\matplotlib\mpl-data\matplotlibrc

在这里我继续使用Sublime Text打开。

Python用matplotlib库画图中文和负号显示为方框的问题解决_第3张图片

找到这两个之后修改成如图所示的样子,就可以了。

3.解决负号显示为空心方框的问题

还是刚才那个文件,修改成如下图这样,就可以了。

Python用matplotlib库画图中文和负号显示为方框的问题解决_第4张图片

保存之后,就成功的解决的这个问题了。

程序测试

import matplotlib.pyplot as plt

plt.plot((1, 2, 3), (4, 5, 6))
plt.xlabel(u'横坐标')
plt.ylabel(u'纵坐标')
plt.show()

它运行的结果如下:

Python用matplotlib库画图中文和负号显示为方框的问题解决_第5张图片

总结 

到此这篇关于Python用matplotlib库画图中文和负号显示为方框的问题解决的文章就介绍到这了,更多相关Python matplotlib库画图中文为方框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Python用matplotlib库画图中文和负号显示为方框的问题解决)