在 Mayavi 中设置 Nan 颜色

Set Nan Colour In Mayavi

我有很多数据,用单独的函数插值,其中包含间隙 (NaN) 值。我想使用 imshow() 在 MayaVi 中将这些数据平面绘制为图像,我已经取得了一些成功。

为避免数据复杂,考虑显示数组:

import numpy as np
from mayavi.mlab import *
grid_z0 = np.array([[1,2,3],[4,np.nan,6],[7,8,9]])
imshow(grid_z0, interpolate = False)

没有透明度的快照:

实际上,我希望我的数据中的差距是透明的。 (即中间的深红色 128,0,0 方块会被看穿)。

我知道编辑颜色图在 MayaVi 中并不是真正的事情(就像在 matplotlib 中一样),但我可以在 MayaVi 管道中看到 'NaN color' 选项,以及像 this 表明可以编辑颜色选项。

但是,我无法理解为什么 NaN 值会显示为 (128,0,0) RGB,以及我可以做些什么来使它们透明。

更多的思考、阅读和摆弄:

img = imshow(grid_z0)
img.module_manager.scalar_lut_manager.lut.nan_color = 0, 0, 0, 0
img.update_pipeline()