向内嵌轴添加颜色条

PythonPythonBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将学习如何使用 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向内嵌轴添加颜色条。这是一种以更详细和信息丰富的方式可视化数据的有用技术。请记住根据你的具体需求和偏好调整参数。