colors.BoundaryNorm
时间: 2023-12-22 08:03:26 浏览: 56
`colors.BoundaryNorm` 是 matplotlib 中的一个颜色归一化方式,它将颜色映射范围分为若干个离散的区间,并对每个区间指定一个颜色。
`BoundaryNorm` 的构造函数如下:
```python
class BoundaryNorm(object):
def __init__(self, boundaries, ncolors, clip=False):
"""
Create a colormap based on a list of boundaries and colors.
"""
```
其中,`boundaries` 是一个列表,表示每个区间的边界值,必须是升序排列的;`ncolors` 是一个整数,表示颜色映射表中有多少种颜色;`clip` 是一个布尔值,表示是否将超出颜色映射范围的数据裁剪到范围内。
`BoundaryNorm` 的使用方法和其他归一化方式类似,需要将其作为 `contourf` 函数的 `norm` 参数传入。下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import colors
x = np.linspace(-5, 5, 101)
y = np.linspace(-5, 5, 101)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))
fig, ax = plt.subplots()
levels = np.linspace(-1, 1, 21)
boundaries = np.linspace(-1, 1, 11)
norm = colors.BoundaryNorm(boundaries, ncolors=256)
cs = ax.contourf(X, Y, Z, levels=levels, norm=norm, cmap='coolwarm')
fig.colorbar(cs, ax=ax)
plt.show()
```
在这个例子中,我们将等高线图分成 21 层,并指定了 10 个边界值,将颜色映射范围分成了 11 个区间。然后,我们使用 `BoundaryNorm` 归一化方式,并将其传递给 `contourf` 函数的 `norm` 参数。最后,我们使用 `coolwarm` 颜色映射表进行填充,并在图形右侧添加了一个颜色条。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)