IIWAB matplotlib.pyplot 显示中文title乱码 - IIWAB

matplotlib.pyplot 显示中文title乱码

IIWAB 1月前 ⋅ 98 阅读

在使用matplotlib.pyplot绘图时,若显示中文title出现乱码,这通常是由于matplotlib默认不支持中文字体所导致的。下面介绍几种解决该问题的方法:

方法一:设置全局字体

可以通过matplotlib.rcParams来设置全局字体,使其支持中文显示。示例代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 设置全局字体为支持中文的字体,如SimHei(黑体)
plt.rcParams['font.family'] = 'SimHei'
# 解决负号显示问题
plt.rcParams['axes.unicode_minus'] = False

# 生成示例数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 绘制图形
plt.plot(x, y)
# 设置中文标题
plt.title('正弦函数图像')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.show()

代码解释

  • plt.rcParams['font.family'] = 'SimHei':将全局字体设置为黑体(SimHei),这样就能支持中文显示。也可以根据自身需求替换为其他支持中文的字体,例如Microsoft YaHei(微软雅黑)。
  • plt.rcParams['axes.unicode_minus'] = False:此语句用于解决负号显示为方块的问题。

方法二:在具体绘图时指定字体

如果不想设置全局字体,也可以在调用titlexlabelylabel等函数时,通过fontproperties参数来指定支持中文的字体。示例代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 生成示例数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 绘制图形
plt.plot(x, y)
# 设置中文标题,并指定字体
plt.title('正弦函数图像', fontproperties='SimHei')
plt.xlabel('X轴', fontproperties='SimHei')
plt.ylabel('Y轴', fontproperties='SimHei')
plt.show()

代码解释

titlexlabelylabel函数中,使用fontproperties='SimHei'参数指定使用黑体字体来显示中文。

注意事项

  • 要保证系统中已经安装了所指定的字体,否则可能依旧会出现乱码问题。
  • 不同操作系统支持的中文字体有所不同,比如在Windows系统中可以使用SimHeiMicrosoft YaHei等;在Linux系统中可能需要使用WenQuanYi Zen Hei等字体;在macOS系统中可以使用Heiti TC等字体。

全部评论: 0

    我有话说: