1

我有很多数据,用单独的函数进行插值,其中包含间隙 (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 颜色”选项,并且像这样的文档表明编辑颜色选项是可能的.

但是,我一直想知道为什么 NaN 值显示为 (128,0,0) RGB,以及我可以做些什么来使它们透明。

4

1 回答 1

1

更多思考、阅读和摆弄:

img = imshow(grid_z0)
img.module_manager.scalar_lut_manager.lut.nan_color = 0, 0, 0, 0
img.update_pipeline()
于 2018-09-03T10:36:22.703 回答