配置字体族#

您可以明确设置要使用的字体族,可以通过指定用户系统上安装的字体族名称,或通用字体族(例如,'serif'、'sans-serif'、'monospace'、'fantasy' 或 'cursive'),或两者的组合来设置。(参见 文本属性和布局

在下面的示例中,我们正在覆盖默认的 sans-serif 通用字体族,以包含特定的(Tahoma)字体。(请注意,实现此目的的最佳方法是简单地在 'font.family' 中预置 'Tahoma')

默认字体族通过 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")
font family rc

选择 sans-serif 字体并将其指定为“Nimbus Sans”

plt.rcParams["font.family"] = "sans-serif"
plt.rcParams["font.sans-serif"] = ["Nimbus Sans"]
print_text("Hello World! 02")
font family rc

选择默认的 monospace 字体

plt.rcParams["font.family"] = "monospace"
print_text("Hello World! 03")
font family rc

选择 monospace 字体并将其指定为“FreeMono”

plt.rcParams["font.family"] = "monospace"
plt.rcParams["font.monospace"] = ["FreeMono"]
print_text("Hello World! 04")
font family rc

由 Sphinx-Gallery 生成的画廊