简介
在本实验中,你将学习如何使用 Python 的 Matplotlib 库创建带有自定义字体的图表。你将了解 pgf.texsystem 参数,该参数允许你使用 LaTeX 来定制图表的字体族。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入 Matplotlib 并设置 pgf.texsystem 参数
首先,你需要导入 Matplotlib 库,并将 pgf.texsystem 参数设置为 pdflatex。此参数允许你使用 LaTeX 来定制图表的字体族。
import matplotlib.pyplot as plt
plt.rcParams.update({
"pgf.texsystem": "pdflatex",
})
定义字体族
接下来,你需要定义想要在图表中使用的字体族。在本示例中,我们将使用 cmbright 字体族。
plt.rcParams.update({
"pgf.texsystem": "pdflatex",
"pgf.preamble": "\n".join([
r"\usepackage[utf8x]{inputenc}",
r"\usepackage[T1]{fontenc}",
r"\usepackage{cmbright}",
]),
})
创建图表
现在,你可以使用 plt.subplots() 函数来创建图表。在本示例中,我们将创建一个简单的折线图。
fig, ax = plt.subplots(figsize=(4.5, 2.5))
ax.plot(range(5))
向图表添加文本
你可以使用 ax.text() 函数向图表添加文本。在本示例中,我们将添加具有不同字体族的文本。
ax.text(0.5, 3., "serif", family="serif")
ax.text(0.5, 2., "monospace", family="monospace")
ax.text(2.5, 2., "sans-serif", family="sans-serif")
ax.set_xlabel(r"µ is not $\mu$")
调整布局并保存图表
最后,你可以分别使用 fig.tight_layout() 和 fig.savefig() 函数来调整图表的布局并将其保存到文件中。
fig.tight_layout(pad=.5)
fig.savefig("pgf_texsystem.pdf")
fig.savefig("pgf_texsystem.png")
总结
在本实验中,你学习了如何使用 Python 的 Matplotlib 库创建带有自定义字体的图表。你使用 pgf.texsystem 参数来设置图表的字体族,并使用 ax.text() 函数添加具有不同字体族的文本。你还学习了如何调整图表的布局并将其保存到文件中。