解决python2 绘图title,xlabel,ylabel出现中文乱码的问题

  

当 Python2 绘图时,如果包含中文,通常会遇到标题、x轴标签、y轴标签出现乱码的问题,这是因为 Python2 默认不支持中文字符集。要解决此问题,我们需要做如下操作:

步骤一:安装中文字体库

首先,我们需要安装用于支持中文字符集的字体库。在 Ubuntu/Debian 系统下,可以通过以下命令安装:

sudo apt-get install -y fonts-wqy-zenhei

在 CentOS/RHEL 系统下,可以通过以下命令安装:

sudo yum install -y wqy-zenhei-fonts

步骤二:设置字体

接下来,我们需要在 Python2 中设置中文字体。只需要在代码中添加以下代码即可:

import matplotlib.pyplot as plt

# 指定字体
plt.rcParams['font.sans-serif']=['WenQuanYi Zen Hei']

# 解决负号'-'显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False

在上面的代码中,我们使用了“文泉驿正黑”字体,因为它是 Ubuntu/Debian 和 CentOS/RHEL 系统下的默认中文字体,可以保证在绝大多数情况下显示正常。

同时,我们也解决了负号'-'显示为方块的问题。

下面是两个示例,分别是绘制简单折线图和柱状图:

  1. 绘制简单折线图
import matplotlib.pyplot as plt

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

# 指定字体
plt.rcParams['font.sans-serif']=['WenQuanYi Zen Hei']

# 解决负号'-'显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False

# 绘制折线图
plt.plot(x, y)

# 添加标题
plt.title("折线图示例")

# 添加x轴标签
plt.xlabel("x轴")

# 添加y轴标签
plt.ylabel("y轴")

# 显示图像
plt.show()
  1. 绘制柱状图
import matplotlib.pyplot as plt

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

# 指定字体
plt.rcParams['font.sans-serif']=['WenQuanYi Zen Hei']

# 解决负号'-'显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False

# 绘制柱状图
plt.bar(x, y, width=0.5)

# 添加标题
plt.title("柱状图示例")

# 添加x轴标签
plt.xlabel("x轴")

# 添加y轴标签
plt.ylabel("y轴")

# 显示图像
plt.show()

在这两个示例中,我们都添加了标题、x轴标签和y轴标签,同时指定了中文字体和解决负号显示的问题,保证了中文的正常显示。

相关文章