有两个NDVI矩阵,使用python植被增加区域用浅绿色显示,植被减少区域用红 色显示,植被不变区域用深绿色显示,非植被区域用灰色显示
时间: 2024-03-01 12:55:57 浏览: 58
ndvi.rar_IDL波段计算_IDL计算NDVI_IDl_NDVI_植被指数
5星 · 资源好评率100%
可以使用Matplotlib中的imshow函数来绘制NDVI矩阵,并使用自定义的颜色映射(colormap)来显示不同的区域。下面是一个例子,展示了如何根据NDVI矩阵的值来选择颜色:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成两个随机的NDVI矩阵
ndvi1 = np.random.rand(10, 10) * 2 - 1
ndvi2 = np.random.rand(10, 10) * 2 - 1
# 定义颜色映射
cmap = plt.colors.ListedColormap(['gray', 'red', 'darkgreen', 'lime'])
# 定义颜色映射边界值
bounds = [-1, -0.2, 0.2, 0.5, 1]
norm = plt.colors.BoundaryNorm(bounds, cmap.N)
# 绘制NDVI矩阵1
plt.subplot(1, 2, 1)
plt.imshow(ndvi1, cmap=cmap, norm=norm, interpolation='nearest')
plt.title('NDVI 1')
# 绘制NDVI矩阵2
plt.subplot(1, 2, 2)
plt.imshow(ndvi2, cmap=cmap, norm=norm, interpolation='nearest')
plt.title('NDVI 2')
# 显示图形
plt.show()
```
这段代码会生成两个随机的NDVI矩阵,并根据不同的NDVI值来选择颜色。其中,灰色表示非植被区域,红色表示植被减少区域,深绿色表示植被增加区域,浅绿色表示植被不变区域。可以根据实际需求修改颜色映射边界值和颜色映射的颜色。
阅读全文