简介
在本教程中,我们将学习如何使用 matplotlib 库为可视化创建颜色条。颜色条是一个有用的工具,通过提供与所绘制数据相对应的颜色刻度来帮助解释可视化效果。我们将使用 matplotlib 为具有正负数数据值的可视化创建颜色条。
虚拟机提示
虚拟机启动完成后,点击左上角切换到 笔记本 标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会立即为你解决问题。
导入必要的库
我们首先导入必要的库:numpy 和 matplotlib.pyplot。
import matplotlib.pyplot as plt
import numpy as np
生成数据
我们使用 numpy 的 mgrid 函数生成一些用于绘图的示例数据。
## 设置一些通用数据
N = 37
x, y = np.mgrid[:N, :N]
Z = (np.cos(x*0.2) + np.sin(y*0.3))
创建正数数据图和颜色条
我们创建正数数据的图,并使用 colorbar 函数为该图添加颜色条。
## 仅绘制正数数据,并保存 ax1.imshow 返回的颜色“可映射”对象
pos = plt.imshow(Zpos, cmap='Blues', interpolation='none')
## 使用图形的方法添加颜色条,指明我们所讨论的可映射对象以及它应靠近的轴对象
plt.colorbar(pos)
创建负数数据图和颜色条
我们创建负数数据的图,并使用 colorbar 函数为该图添加颜色条。这次,我们指定颜色条的位置,以及锚点和收缩参数。
## 对负数数据重复上述所有操作
## 你可以指定颜色条的位置、锚点并收缩它
neg = plt.imshow(Zneg, cmap='Reds_r', interpolation='none')
plt.colorbar(neg, location='right', anchor=(0, 0.3), shrink=0.7)
创建包含正数和负数数据的图
我们创建一个同时包含正数和负数数据的图,并使用 colorbar 函数为该图添加颜色条。这次,我们使用 vmin 和 vmax 参数指定颜色条的最小值和最大值。
## 绘制介于 +/- 1.2 之间的正数和负数
pos_neg_clipped = plt.imshow(Z, cmap='RdBu', vmin=-1.2, vmax=1.2,
interpolation='none')
## 在颜色条上添加次刻度,以便于从颜色条上读取数值。
cbar = plt.colorbar(pos_neg_clipped, extend='both')
cbar.minorticks_on()
总结
在本教程中,我们学习了如何使用 matplotlib 库为可视化创建颜色条。我们介绍了如何为包含正负数数据值的可视化创建颜色条。有了这些工具,我们可以创建更具信息性和实用性的可视化效果。