创建 Matplotlib 子图

Beginner

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

简介

Matplotlib 是一个用于创建可视化图表(如图表、图形等)的 Python 库。在本实验中,你将学习如何在 Matplotlib 中创建子图。子图是指在同一图形中包含两个或更多个绘图的图形。子图可以帮助你比较不同的数据集,或者展示同一数据的不同视图。当你想要一起显示多个绘图时,它们非常有用。

虚拟机使用提示

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

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

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

导入库

要使用 Matplotlib,你需要导入它。你还需要导入 NumPy 来为绘图创建数组。

import matplotlib.pyplot as plt
import numpy as np

创建带有子图的图形

要创建带有子图的图形,你首先需要使用 plt.figure() 创建一个图形对象。然后,你可以使用 fig.subfigures() 创建子图。

fig = plt.figure()
subfigs = fig.subfigures(2, 1)

这将创建一个带有两个子图的图形,一个在另一个之上。

在子图上绘制数据

要在子图上绘制数据,你需要使用 subfig.subplots() 为每个子图创建一个子图对象。然后,你可以使用 Matplotlib 中的任何绘图函数来创建绘图。

ax1 = subfigs[0].subplots()
ax1.plot(np.arange(10), np.random.randn(10))

ax2 = subfigs[1].subplots()
ax2.plot(np.arange(10), np.random.randn(10))

这将创建两个子图,每个子图都有一个随机数据的绘图。

自定义子图

你可以使用 Matplotlib 中可用的各种函数来自定义子图。例如,你可以使用 set_title()set_xlabel() / set_ylabel() 设置标题和轴标签。

ax1.set_title('子图 1')
ax1.set_xlabel('X 轴标签')
ax1.set_ylabel('Y 轴标签')

ax2.set_title('子图 2')
ax2.set_xlabel('X 轴标签')
ax2.set_ylabel('Y 轴标签')

这将为每个子图设置标题和轴标签。

显示图形

要显示图形,你需要使用 plt.show()

plt.show()

这将显示带有两个子图的图形。

总结

在本实验中,你学习了如何在 Matplotlib 中创建子图。你学习了如何创建带有子图的图形、在子图上绘制数据、自定义子图以及显示图形。当你想要比较不同的数据集或展示同一数据的不同视图时,子图会很有用。