备注
转到结尾 以下载完整示例代码。
配置字体族#
你可以明确设置选择哪种字体系列,可以通过指定用户系统上安装的字体系列名称,或通用系列(例如,'serif'、'sans-serif'、'monospace'、'fantasy' 或 'cursive'),或两者的组合。(参见 文本属性和布局)
在下面的示例中,我们正在覆盖默认的无衬线通用字体系列,以包含特定的(Tahoma)字体。(请注意,实现这一点的最佳方式是将'Tahoma'简单地添加到'font.family'的前面)
默认字体族通过 font.family rcparam 设置,例如
rcParams['font.family'] = 'sans-serif'
而对于 font.family,你设置了一个字体样式列表,按顺序尝试查找:
rcParams['font.sans-serif'] = ['Tahoma', 'DejaVu Sans',
'Lucida Grande', 'Verdana']
font.family 的默认值取决于操作系统,可以通过以下方式查看:
import matplotlib.pyplot as plt
print(plt.rcParams["font.sans-serif"][0])
print(plt.rcParams["font.monospace"][0])
DejaVu Sans
DejaVu Sans Mono
选择默认的 sans-serif 字体
def print_text(text):
fig, ax = plt.subplots(figsize=(6, 1), facecolor="#eefade")
ax.text(0.5, 0.5, text, ha='center', va='center', size=40)
ax.axis("off")
plt.show()
plt.rcParams["font.family"] = "sans-serif"
print_text("Hello World! 01")

选择无衬线字体并指定为“Nimbus Sans”
plt.rcParams["font.family"] = "sans-serif"
plt.rcParams["font.sans-serif"] = ["Nimbus Sans"]
print_text("Hello World! 02")

选择默认等宽字体
plt.rcParams["font.family"] = "monospace"
print_text("Hello World! 03")

选择等宽字体并指定为“FreeMono”
plt.rcParams["font.family"] = "monospace"
plt.rcParams["font.monospace"] = ["FreeMono"]
print_text("Hello World! 04")