mayavi 颜色数量和自定义色阶

mayavi number of colors and custom colorscale

我有一个矩阵输出[mXnXp],它的坐标来自网格

xc2,yc2,zc2=np.meshgrid(...)
zs=np.unique(zc2.ravel())

我想绘制每个 "layer" 个体,所以在编辑器中我可以 show/hide 单独的图层(比如只想查看 out[:,:,3] 和 out[:,: ,4]...)

我用下面的图画

myfig = mlab.figure(1, fgcolor=(1, 1, 1), bgcolor=(0, 0, 0))
for k in range(0,10):
    xx, yy, zz = np.where(zc2==zs[k])
    pp=mlab.points3d(xc2[xx,yy,zz], yc2[xx,yy,zz],  
         zc2[xx,yy,zz],out[xx,yy,zz],
         mode="cube",
         scale_factor=100,scale_mode='none',vmin=0,vmax=8)

现在,我想定义一个自定义色标,它只有 10 种离散颜色。所以我有一个矩阵

imod =[R,G,B,A] of size [10,4]
pp.module_manager.scalar_lut_manager.lut.table=imod

但这行不通。我相信 myavi 期望 tham imod 的大小为 [256,4]

如何限制色阶中的颜色数量并定义我需要的颜色?

经过反复试验,我找到了以下命令 pp.module_manager.scalar_lut_manager.lut.number_of_colors=10

现在可以了。