使用 Matplotlib 创建颜色条

PythonPythonBeginner
立即练习

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

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

简介

在本教程中,我们将学习如何使用 matplotlib 库为可视化创建颜色条。颜色条是一个有用的工具,通过提供与所绘制数据相对应的颜色刻度来帮助解释可视化效果。我们将使用 matplotlib 为具有正负数数据值的可视化创建颜色条。

虚拟机提示

虚拟机启动完成后,点击左上角切换到 笔记本 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会立即为你解决问题。

导入必要的库

我们首先导入必要的库:numpymatplotlib.pyplot

import matplotlib.pyplot as plt
import numpy as np

生成数据

我们使用 numpymgrid 函数生成一些用于绘图的示例数据。

## 设置一些通用数据
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 函数为该图添加颜色条。这次,我们使用 vminvmax 参数指定颜色条的最小值和最大值。

## 绘制介于 +/- 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 库为可视化创建颜色条。我们介绍了如何为包含正负数数据值的可视化创建颜色条。有了这些工具,我们可以创建更具信息性和实用性的可视化效果。