使用 GridSpec 组合子图

Beginner
立即练习

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

简介

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

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 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 中使用subplots和GridSpec来组合两个子图。我们创建了一个带有子图的图形,从轴获取GridSpec,移除底层轴,添加一个更大的轴,为更大的轴添加注释,并调整子图的布局。最后,我们使用 Matplotlib 显示绘图。