使用 GridSpec 组合子图

Beginner

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

简介

Matplotlib 是一个用于数据可视化的流行 Python 库。在本实验中,我们将学习如何使用 Matplotlib 中的 subplotsGridSpec 组合两个子图。

虚拟机使用提示

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

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

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

导入所需库

我们首先导入本实验所需的库。我们将使用 Matplotlib 进行数据可视化。

import matplotlib.pyplot as plt

创建带有子图的图形

我们创建一个具有三列三行子图的图形。

fig, axs = plt.subplots(ncols=3, nrows=3)

从轴对象获取网格布局规格(GridSpec)

我们从子图的第二行第三列获取 GridSpec

gs = axs[1, 2].get_gridspec()

移除底层轴

我们移除将在下一步创建的更大轴所覆盖的底层轴。

for ax in axs[1:, -1]:
    ax.remove()

添加一个更大的轴

我们添加一个更大的轴,它覆盖最后一列的第二行和第三行。

axbig = fig.add_subplot(gs[1:, -1])

为更大的轴添加注释

我们用一些文本为更大的轴添加注释。

axbig.annotate('Big Axes \nGridSpec[1:, -1]', (0.1, 0.5),
               xycoords='axes fraction', va='center')

调整布局

我们调整子图的布局,以确保它们能适配图形。

fig.tight_layout()

显示绘图

我们使用 Matplotlib 显示绘图。

plt.show()

总结

在这个实验中,我们学习了如何在 Matplotlib 中使用subplotsGridSpec来组合两个子图。我们创建了一个带有子图的图形,从轴获取GridSpec,移除底层轴,添加一个更大的轴,为更大的轴添加注释,并调整子图的布局。最后,我们使用 Matplotlib 显示绘图。