使用Matplotlib imshow将没有数据的点设置为白色

Ell*_*iot 8 python graph matplotlib

我正在使用matplotlib imshow从numpy数组中绘制数据.但是,有些点没有数据.我使用np.zeroes初始化了数组,所以这些点正在拖拽整个地图.我知道没有数据的值为0.0.有没有办法让我告诉imshow例程忽略这些点(即将它们留白,这样很明显它们是空的)?

ely*_*ely 11

您是否尝试使用NaN而不是零来实例化数组,以查看matplotlib的默认值是否会以适合您的方式忽略NaN?在绘制之前,您还可以尝试使用逻辑索引使0的位置等于NaN:

my_data[my_data == 0.0] = numpy.nan
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用NaN构思并按照此链接的建议使用NumPy蒙版数组,以便将NaN条目绘制为您喜欢的颜色.

我想你也可以使用那个链接的想法在零位置制作一个蒙版数组,如果你不喜欢它,不需要去NaN选项.