第三方库matplotlib是用来绘制各种数据统计图表的,而绘图过程之中难免会给图像或者是坐标轴来添加标题,但是有小伙伴说添加了中文就变成乱码。所以下面文章介绍的内容就是,matplotlib中文乱码出现的原因和解决方法,想了解或者有需要的就往下看看吧。
一、中文乱码原因
在python中任何程序出现中文乱码的唯一原因就在于编码格式,因为matplotlib库它绘图本身是只支持ASCII码的,也就是英文、数字、符号等等可以正常显示。而中文因为在ASCII这个编码表之中不存在,所以一旦添加中文就会变成小方块形式的乱码。
二、中文乱码解决方法
1.临时方法:这种方法是通过单次修改matplotlib配置文件字体来完成的,在每个使用它的绘图程序之中都需要写这段代码并且将其放在上方。那么它的作用就是先将文本字体设置为中文字体,然后在去设置不使用默认编码格式。此时就会用到python3默认的utf-8编码了,因此需要保证库和python版本都在3.0以上才行,代码如下:
import matplotlib.pyplot as plt plt.rcParams["font.sans-serif"]=["SimHei"] plt.rcParams["axes.unicode_minus"]=False
2.永久解决:另外一种方式就是通过修改配置文件来将其永久解决掉,首先打开如下文件路径并在其中复制微软雅黑字体文件。然后再将其粘贴到指定的这个文件路径中,路径分别如下所示:
C:\Windows\Fonts\Microsoft YaHei UI D:\python\python37\lib\site-packages\matplotlib\mpl-data\fonts\ttf
然后在python安装目录内matplotlib库文件夹mpl-data里面找到配置文件matplotlibrc并将其打开,打开之后将下面两个属性前的注释符去掉即可,示例如下:
#font.family: sans-serif #font.serif: DejaVu Serif, Bitstream Vera Serif, Computer...
以上就是关于“Matplotlib中文乱码怎么解决?Python使用matplotlib绘图如何显示中文”的全部内容了,希望对你有所帮助。