在 Matplotlib 中使用 TTF 字体文件

Beginner

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

简介

在本教程中,我们将学习如何在 Matplotlib 中使用 TrueType 字体文件。我们将使用 Matplotlib 附带的 Computer Modern Roman 字体(cmr10)在绘图中显示特殊字体。

虚拟机使用提示

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

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

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

导入必要的库

我们需要导入matplotlib.pyplotmatplotlib来创建和显示图表。

import matplotlib.pyplot as plt
import matplotlib as mpl

创建图表

我们使用subplots()方法创建一个图表,并将图形对象和坐标轴对象分别存储在figax变量中。

fig, ax = plt.subplots()

设置字体路径

我们通过使用mpl.get_data_path()方法来获取数据目录的路径,从而设置字体路径,然后使用pathlib模块中的Path()方法将字体文件cmr10.ttf的路径追加到该路径上。

from pathlib import Path

fpath = Path(mpl.get_data_path(), "fonts/ttf/cmr10.ttf")

设置标题的字体

我们使用Axes类的set_title()方法来设置图表标题的字体。我们将字体路径作为font参数传递,并将字体文件的名称作为图表的标题。

ax.set_title(f'This is a special font: {fpath.name}', font=fpath)

显示图表

我们使用show()方法来显示图表。

plt.show()

总结

在本教程中,我们学习了如何在 Matplotlib 中使用 ttf 字体文件,以便在图表中显示特殊字体。我们使用set_title()方法为图表的标题设置字体,并将字体路径作为font参数传递。