完美解决Pycharm中matplotlib画图中文乱码问题

下面是完美解决Pycharm中matplotlib画图中文乱码问题的攻略。

下面是完美解决Pycharm中matplotlib画图中文乱码问题的攻略。

问题描述

当我们在Pycharm中使用matplotlib进行画图时,如果涉及到中文字符,很容易出现乱码的问题。这让我们在阅读和展示代码的过程中感到十分不便,因此需要解决它。

解决方法

方法一、导入matplotlib的字体库

我们可以使用以下代码导入 matplotlib 的字体库:

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

这段代码主要是使用了 rcParams 对 matplotlib 进行设置。其中,font.sans-serif 的值设定为 'SimHei',这是指定中文显示的字体,axes.unicode_minus 的值设为 False,则可以正常显示负号。这样一来,我们就可以正常显示中文了。

下面是一个绘图的示例代码:

import matplotlib.pyplot as plt 

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

x = [1, 2, 3, 4, 5]
y = [4, 8, 5, 7, 6]

plt.plot(x, y)
plt.title('这里是中文标题')

plt.show()

方法二、手动添加字体

这种方法的思路是手动添加中文字体到 matplotlib。由于 matplotlib 默认的字体库中没有中文字体,因此我们需要将中文字体手动添加进去。

以下是具体的操作步骤:

  1. 首先,在电脑的字体目录中找到一种中文字体,比如 simhei.ttf

  2. 找到 Python 的安装目录,比如 C:\Python37

  3. 在 Python 的安装目录中找到 Lib\site-packages\matplotlib\mpl-data\fonts\ttf 目录。

  4. 将找到的中文字体复制到该目录下。

  5. 在使用 matplotlib 的时候,指定中文字体的名称,比如:

```
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

font = FontProperties(fname=r"C:\Python37\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\simhei.ttf") #指定SimHei字体
plt.title('这里是中文标题', fontproperties=font) #使用该字体输出中文
```

下面是一个绘图的示例代码:

import matplotlib.pyplot as plt 
from matplotlib.font_manager import FontProperties

font = FontProperties(fname=r"C:\Python37\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\simhei.ttf")

x = [1, 2, 3, 4, 5]
y = [4, 8, 5, 7, 6]

plt.plot(x, y)
plt.title('这里是中文标题', fontproperties=font)

plt.show()

总结

以上两种方法都可以方便地解决 Pycharm 中 matplotlib 画图中文乱码的问题。当然,也可以在需要显示中文的地方直接使用 Unicode 编码进行输出,但是这种方法比较繁琐,不够便捷。因此,建议使用上述方法来解决这个问题。

本文标题为:完美解决Pycharm中matplotlib画图中文乱码问题

基础教程推荐