Usetex 字体效果

Beginner

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

简介

本教程将指导你如何使用 usetex 模式为 Matplotlib 绘图应用字体效果。我们将使用一个示例脚本,该脚本演示了 pdftex.map 文件中指定的字体效果。在本教程结束时,你将能够创建具有自定义字体效果的专业外观绘图。

虚拟机提示

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

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

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

安装 Matplotlib

在开始之前,我们需要确保已安装 Matplotlib。你可以使用 pip 进行安装:

pip install matplotlib

导入所需库

在这一步中,我们将导入本教程所需的库。我们将使用 Matplotlib 库来创建我们的绘图。

import matplotlib.pyplot as plt

定义字体函数

在这一步中,我们将定义一个设置字体的函数。该函数接受一个字体名称作为参数,并返回一个将字体设置为指定名称的字符串。

def setfont(font):
    return rf'\font\a {font} at 14pt\a '

创建绘图

在这一步中,我们将创建绘图。我们将使用fig.text()方法向绘图中添加文本。我们将遍历字体列表和相应的文本,使用zip()函数将它们匹配起来。我们将把usetex参数设置为True以启用 usetex 模式。

fig = plt.figure()
for y, font, text in zip(
    range(5),
    ['ptmr8r', 'ptmri8r', 'ptmro8r', 'ptmr8rn', 'ptmrr8re'],
    [f'Nimbus Roman No9 L {x}'
     for x in ['', 'Italics (real italics for comparison)',
               '(slanted)', '(condensed)', '(extended)']],
):
    fig.text(.1, 1 - (y + 1) / 6, setfont(font) + text, usetex=True)

fig.suptitle('Usetex font effects')
plt.show()

解读结果

该脚本创建了一个绘图,展示了 pdftex.map 文件中指定的字体效果。它展示了你如何使用不同的字体和字体样式在你的绘图上创建自定义文本。

总结

在本教程中,我们学习了如何在 Matplotlib 中使用 usetex 模式为我们的绘图应用自定义字体效果。我们定义了一个设置字体的函数,然后使用fig.text()方法向绘图中添加文本。我们还遍历了字体列表和相应的文本,以展示不同的字体效果。通过遵循这些步骤,你可以在 Matplotlib 中使用自定义字体创建出专业外观的绘图。