python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python matplotlib库画图中文为方框

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

作者:北天_NA

matplotlib中画图的时候会遇到负号显示为方框的问题,下面这篇文章主要给大家介绍了关于Python用matplotlib库画图中文和负号显示为方框的问题解决,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

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

注意:

语言版本:Python 3.10.4

编译器版本:PyCharm 2021.3.2

操作系统:Win11

前言

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

问题如下图:

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

解决办法

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

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

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

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

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

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

import matplotlib

print(matplotlib.matplotlib_fname())

它运行的结果是:

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

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

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

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

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

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

程序测试

import matplotlib.pyplot as plt

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

它运行的结果如下:

总结 

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

您可能感兴趣的文章:
阅读全文