我正在同一个图中绘制两个mayavi网格。我提供表面顶点标量来指导着色。似乎mayavi使用每网格色标。然而,我想要的是一个通用的色标,以便我用这六个网格绘制的立方体,例如
mlab.mesh(x_0, y_0, z_0, scalars=1 * np.ones_like(x_0), colormap='jet')
mlab.mesh(x_1, y_1, z_1, scalars=2 * np.ones_like(x_0), colormap='jet')
mlab.mesh(x_2, y_2, z_2, scalars=3 * np.ones_like(y_0), colormap='jet')
mlab.mesh(x_3, y_3, z_3, scalars=4 * np.ones_like(y_0), colormap='jet')
mlab.mesh(x_4, y_4, z_4, scalars=5 * np.ones_like(z_0), colormap='jet')
mlab.mesh(x_5, y_5, z_5, scalars=6 * np.ones_like(z_0), colormap='jet')
每张脸都没有变成深蓝色。
我试图想象一个长方体表面上的3D标量场,但颜色在边缘/角落处不匹配。无法在文档中找到任何内容。
常见的颜色缩放不一定必须是自动的。如果有一种方法可以为matplotlib中的每个地图设置下限和上限值,我可以为所有网格命令设置相同的值。
答案 0 :(得分:0)
最后发现它记录了另一个函数,但是mlab.mesh也理解参数vmin和vmax,它们决定了用于色标的低级和高级,所以上面的调用将是:
mlab.mesh(x_0, y_0, z_0, scalars=1 * np.ones_like(x_0), colormap='jet', vmin=0, vmax=1)