简介
在本实验中,你将学习如何使用 Python 中的 Matplotlib 为内嵌轴添加颜色条。颜色条是一系列颜色到一系列数值映射的可视化表示。内嵌轴是放置在绘图较大轴内的较小轴。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入库和数据
首先,导入绘图中将会用到的必要库和数据。
import matplotlib.pyplot as plt
from matplotlib import cbook
from mpl_toolkits.axes_grid1.inset_locator import inset_axes, zoomed_inset_axes
fig, ax = plt.subplots(figsize=[5, 4])
Z = cbook.get_sample_data("axes_grid/bivariate_normal.npy")
extent = (-3, 4, -4, 3)
设置主图
通过调整纵横比以及 x 轴和 y 轴的范围来设置主图。
ax.set(aspect=1, xlim=(-15, 15), ylim=(-20, 5))
创建一个内嵌轴
使用 zoomed_inset_axes 函数创建一个内嵌轴。设置缩放级别以及内嵌轴在主图中的位置。
axins = zoomed_inset_axes(ax, zoom=2, loc='upper left')
axins.set(xticks=[], yticks=[])
向内嵌轴添加图像
使用 imshow 函数向内嵌轴添加图像。设置图像的范围和原点。
im = axins.imshow(Z, extent=extent, origin="lower")
添加颜色条
使用 inset_axes 函数向内嵌轴添加颜色条。设置颜色条的宽度、高度、位置和边界框。
cax = inset_axes(axins,
width="5%", ## 宽度 = 父边界框宽度的 10%
height="100%", ## 高度 : 50%
loc='lower left',
bbox_to_anchor=(1.05, 0., 1, 1),
bbox_transform=axins.transAxes,
borderpad=0,
)
fig.colorbar(im, cax=cax)
显示图表
使用 show 函数显示图表。
plt.show()
总结
恭喜你!你已经成功学会了如何使用 Python 中的 Matplotlib 向内嵌轴添加颜色条。这是一种以更详细和信息丰富的方式可视化数据的有用技术。请记住根据你的具体需求和偏好调整参数。