📅  最后修改于: 2023-12-03 15:38:48.145000             🧑  作者: Mango
matplotlib 是 Python 中著名的绘图库,支持多种类型的图形绘制。在实际使用中,我们常常需要对图形中的字体进行调整。
本文将介绍如何更改 matplotlib 中的字体,包括修改全局字体和更改特定图形的字体。
在 matplotlib 中,可以使用 matplotlib.rcParams
对象来修改全局字体设置。具体实现步骤如下:
导入 matplotlib 库
import matplotlib.pyplot as plt
查看当前系统中可用的字体名称
import matplotlib.font_manager as fm
print(fm.findSystemFonts())
运行以上代码后,将输出当前系统中可用的字体名称列表。
选择需要使用的字体
在上一步得到的字体列表中选择需要使用的字体名称。例如,我们选择使用 微软雅黑
这种字体。
修改全局字体设置
设置 font.family
和 font.sans-serif
属性即可修改全局字体设置。
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
这里将 font.family
属性设置为 sans-serif
表示使用系统默认的无衬线字体;将 font.sans-serif
属性设置为 ['Microsoft YaHei']
表示使用名为 Microsoft YaHei
的字体。需要注意的是,字体名称需要与上一步中得到的列表中一致。
对于某些特殊需求,我们可能需要对特定图形中的字体进行设置。这时我们可以使用 Text
对象来修改字体。具体实现步骤如下:
导入 Text
对象
from matplotlib.text import Text
创建图形并添加文本
fig, ax = plt.subplots(figsize=(8, 6))
x = [1, 2, 3]
y = [4, 5, 6]
ax.plot(x, y)
text = ax.text(2, 5, 'Hello World', fontsize=14)
这里使用 ax.text
方法添加了一个文本,文本内容为 Hello World
,位于坐标点 (2, 5)
处。同时,我们将文本的字体大小设置为 14
。
修改文本的字体
text.set_fontfamily('sans-serif')
text.set_fontname('Microsoft YaHei')
在添加文本后,我们可以通过 set_fontfamily
方法和 set_fontname
方法来分别修改文本的字体族和字体名称。
至此,我们已经学会了如何更改 matplotlib 中的字体。在实际使用中,我们可以根据需求选择合适的字体,以便让图形更加美观。