优草派  >   Python

Matplotlib中文乱码怎么解决?Python使用matplotlib绘图如何显示中文

罗西汉            来源:优草派

第三方库matplotlib是用来绘制各种数据统计图表的,而绘图过程之中难免会给图像或者是坐标轴来添加标题,但是有小伙伴说添加了中文就变成乱码。所以下面文章介绍的内容就是,matplotlib中文乱码出现的原因和解决方法,想了解或者有需要的就往下看看吧。

Matplotlib中文乱码怎么解决?Python使用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绘图如何显示中文”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行