每个VTK源都有一个用于标量和向量的数据集。
我在程序中使用的使颜色和大小不同的技巧是绕过mayavi源,直接在VTK源中,对颜色使用标量,对大小使用矢量(它也可能以其他方式起作用)。
nodes = points3d(x,y,z)nodes.glyph.scale_mode = 'scale_by_vector'#this sets the vectors to be a 3x5000 vector showing some random scalarsnodes.mlab_source.dataset.point_data.vectors = np.tile( np.random.random((5000,)), (3,1))nodes.mlab_source.dataset.point_data.scalars = np.random.random((5000,))
您可能需要转置5000x3矢量数据或以其他方式移动矩阵尺寸。



