plt.colorbar()如何添加离散的色带
时间: 2024-03-08 16:50:21 浏览: 108
要添加离散的色带,可以使用 `ListedColormap` 和 `BoundaryNorm`。 `ListedColormap` 可以指定颜色列表, `BoundaryNorm` 可以指定分界点。
以下是一个示例代码:
``` python
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import ListedColormap, BoundaryNorm
# 创建一个离散的颜色列表
cmap = ListedColormap(['red', 'green', 'blue', 'yellow'])
# 指定分界点
bounds = [0, 3, 7, 10]
# 创建一个 BoundaryNorm 对象
norm = BoundaryNorm(bounds, cmap.N)
# 创建一个数据集
data = np.random.randint(0, 10, size=(10, 10))
# 绘制图像和色带
plt.imshow(data, cmap=cmap, norm=norm)
plt.colorbar(ticks=bounds)
plt.show()
```
在此示例中,我们创建了一个离散的颜色列表,其中包含四个颜色:红色、绿色、蓝色和黄色。我们将分界点设为 `[0, 3, 7, 10]`,这意味着值小于等于 3 的将使用红色,值小于等于 7 的将使用绿色,值小于等于 10 的将使用蓝色,其余的将使用黄色。我们使用 `BoundaryNorm` 将分界点应用于图像,并使用 `plt.colorbar()` 添加离散的色带。
阅读全文