我正在使用MayaVi Python库绘制3D点,使用
points3d
类。 文档指定每个点的颜色通过第四个参数s
进行指定:
这为每个点指定了一个标量值,将该点映射到颜色映射中,例如此外,您可以传递一个与x、y和z形状相同的第四个数组s,为每个点提供关联的标量值,或者返回标量值的函数f(x, y, z)。该标量值可用于调制点的颜色和大小。
copper
,jet
或hsv
。例如,从他们的文档中:import numpy
from mayavi.mlab import *
def test_points3d():
t = numpy.linspace(0, 4*numpy.pi, 20)
cos = numpy.cos
sin = numpy.sin
x = sin(2*t)
y = cos(t)
z = cos(2*t)
s = 2+sin(t)
return points3d(x, y, z, s, colormap="copper", scale_factor=.25)
给出:
相反,我想指定每个点的实际值作为 (r, g, b) 元组。在 MayaVi 中是否可能?我已经尝试用元组数组替换 s
,但是会抛出错误。
surf.module_manager.scalar_lut_manager.lut.table = colors
。 - RolKau