简介
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 显示绘图。