参考:https://www.pythonheidong.com/blog/article/486038/253098ead152c6bec4a7/
问题描述:我的研究区只有左图中带颜色的部分,但是最开始用matplotlib着色的时候,那些nodata的全被当0着成了红色。
把ndvi.tif(代码中的gray)的ndarray打印出来,发现nodata值全显示为-3.40282347e+38,但是gray[gray==-3.40282347e+38]=np.nan
无效。
解决方法:
gray[(gray > 1) | (gray < -1)] = np.nan
因为ndvi的取值在-1到1之间,就把之外的全设成nan就可以了!