我有一个矩阵输出[mXnXp],它有来自网格的坐标
xc2,yc2,zc2=np.meshgrid(...)
zs=np.unique(zc2.ravel())
我想单独绘制每个"图层",因此在编辑器中我可以显示/隐藏单个图层(例如只想看到 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
它现在有效。