在使用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
:此语句用于解决负号显示为方块的问题。
方法二:在具体绘图时指定字体
如果不想设置全局字体,也可以在调用title
、xlabel
、ylabel
等函数时,通过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()
代码解释
在title
、xlabel
、ylabel
函数中,使用fontproperties='SimHei'
参数指定使用黑体字体来显示中文。
注意事项
- 要保证系统中已经安装了所指定的字体,否则可能依旧会出现乱码问题。
- 不同操作系统支持的中文字体有所不同,比如在Windows系统中可以使用
SimHei
、Microsoft YaHei
等;在Linux系统中可能需要使用WenQuanYi Zen Hei
等字体;在macOS系统中可以使用Heiti TC
等字体。
注意:本文归作者所有,未经作者允许,不得转载