在Mayavi中设置Nan颜色

时间:2018-08-31 14:34:42

标签: python matplotlib mayavi colormap mayavi.mlab

我有很多数据,分别插入不同的函数,其中包含间隙(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)

快照不透明:

Snapshot without transparency

实际上,我希望数据中的差距是透明的。 (即中间可以看到深红色的128,0,0正方形)。

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

但是,我很想知道为什么NaN值显示为(128,0,0)RGB,以及如何使它们透明。

1 个答案:

答案 0 :(得分:1)

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

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