简介
Matplotlib 是一个用于在 Python 中创建静态、动画和交互式可视化的 Python 库。它是数据可视化的强大工具,在科学界被广泛使用。在本实验中,我们将学习如何在 Matplotlib 绘图中创建一个放大区域。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会及时为你解决问题。
导入必要的库
第一步是导入必要的库。在这个例子中,我们将使用 NumPy 和 Matplotlib。
import numpy as np
from matplotlib import cbook
from matplotlib import pyplot as plt
创建绘图
接下来,我们将使用一些示例数据创建一个绘图。我们将使用二元正态分布作为我们的数据源。
fig, ax = plt.subplots()
## make data
Z = cbook.get_sample_data("axes_grid/bivariate_normal.npy") ## 15x15 数组
Z2 = np.zeros((150, 150))
ny, nx = Z.shape
Z2[30:30+ny, 30:30+nx] = Z
extent = (-3, 4, -4, 3)
ax.imshow(Z2, extent=extent, origin="lower")
添加一个内嵌图
在这一步中,我们将向主图中添加一个内嵌图。这个内嵌图将展示主图的一个放大区域。
## inset axes....
x1, x2, y1, y2 = -1.5, -0.9, -2.5, -1.9 ## 原始图像的子区域
axins = ax.inset_axes(
[0.5, 0.5, 0.47, 0.47],
xlim=(x1, x2), ylim=(y1, y2), xticklabels=[], yticklabels=[])
axins.imshow(Z2, extent=extent, origin="lower")
添加一个矩形以显示放大区域
在这一步中,我们将在主图中添加一个矩形,以显示放大区域所在的位置。
ax.indicate_inset_zoom(axins, edgecolor="black")
显示绘图
最后,我们将使用 plt.show() 函数显示绘图。
plt.show()
总结
在本实验中,我们学习了如何在 Matplotlib 绘图中创建一个放大区域。我们使用示例数据创建了一个主图,添加了一个内嵌图以显示主图的放大区域,并添加了一个矩形来显示放大区域的位置。然后,我们使用 plt.show() 函数显示了该绘图。