自定义文本字体属性

Beginner

This tutorial is from open-source community. Access the source code

简介

在本实验中,我们将学习如何在 Matplotlib 中使用关键字参数设置字体属性。我们将探索不同的字体族、样式、变体、粗细和大小,以自定义文本的外观。我们将使用 Matplotlib 的fig.text()方法来展示不同的字体选项。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到笔记本标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。

设置环境

首先,我们需要导入必要的库,并通过使用plt.figure()创建一个新图形来设置环境。

import matplotlib.pyplot as plt

fig = plt.figure()

展示字体族

接下来,我们将展示 Matplotlib 中可用的不同字体族。我们将使用fig.text()方法来展示每个字体族,将字体族名称作为文本,并将相应的字体族作为关键字参数。

alignment = {'horizontalalignment': 'center', 'verticalalignment': 'baseline'}
yp = [0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2]

fig.text(0.1, 0.9, 'family', size='large', **alignment)
families = ['serif','sans-serif', 'cursive', 'fantasy','monospace']
for k, family in enumerate(families):
    fig.text(0.1, yp[k], family, family=family, **alignment)

展示字体样式

现在,我们将展示 Matplotlib 中可用的不同字体样式。我们将使用fig.text()方法来展示每种字体样式,将样式名称作为文本,并将相应的字体样式作为关键字参数。

fig.text(0.3, 0.9,'style', **alignment)
styles = ['normal', 'italic', 'oblique']
for k, style in enumerate(styles):
    fig.text(0.3, yp[k], style, family='sans-serif', style=style, **alignment)

展示字体变体

接下来,我们将展示 Matplotlib 中可用的不同字体变体。我们将使用fig.text()方法来展示每种字体变体,将变体名称作为文本,并将相应的字体变体作为关键字参数。

fig.text(0.5, 0.9, 'variant', **alignment)
variants = ['normal','small-caps']
for k, variant in enumerate(variants):
    fig.text(0.5, yp[k], variant, family='serif', variant=variant, **alignment)

展示字体粗细

现在,我们将展示 Matplotlib 中可用的不同字体粗细。我们将使用fig.text()方法来展示每种字体粗细,将粗细名称作为文本,并将相应的字体粗细作为关键字参数。

fig.text(0.7, 0.9, 'weight', **alignment)
weights = ['light', 'normal','medium','semibold', 'bold', 'heavy', 'black']
for k, weight in enumerate(weights):
    fig.text(0.7, yp[k], weight, weight=weight, **alignment)

展示字体大小

最后,我们将展示 Matplotlib 中可用的不同字体大小。我们将使用fig.text()方法来展示每种字体大小,将大小名称作为文本,并将相应的字体大小作为关键字参数。

fig.text(0.9, 0.9,'size', **alignment)
sizes = [
    'xx-small', 'x-small','small','medium', 'large', 'x-large', 'xx-large']
for k, size in enumerate(sizes):
    fig.text(0.9, yp[k], size, size=size, **alignment)

展示粗体斜体

作为额外内容,我们还可以展示同时具有粗体和斜体样式的文本。我们将使用fig.text()方法来展示具有适当样式、粗细和大小的文本。

fig.text(0.3, 0.1, 'bold italic',
         style='italic', weight='bold', size='x-small', **alignment)
fig.text(0.3, 0.2, 'bold italic',
         style='italic', weight='bold', size='medium', **alignment)
fig.text(0.3, 0.3, 'bold italic',
         style='italic', weight='bold', size='x-large', **alignment)

总结

在这个实验中,我们学习了如何在 Matplotlib 中使用关键字参数来设置字体属性。我们探索了不同的字体族、样式、变体、粗细和大小,以自定义文本的外观。我们使用fig.text()方法来展示不同的字体选项。