我试图在Mayavi中绘制一条具有非恒定宽度或半径的线(或管)。这似乎是一项简单的任务,但我可能无法理解幕后发生的事情,以便实现这一目标。
以下代码创建了我想要的行,我可以按颜色缩放;但是,我还希望按宽度进行缩放。
import mayavi.mlab as mlab
import numpy as np
x = range(100)
y = range(100)
z = range(100)
s = np.random.uniform(0, 1, 100)
mlab.plot3d(x, y, z, s, tube_radius=10)
我没有所需输出的图像,因为我无法创建它,尽管它基本上是由半径而不是颜色缩放的前一图像,因此该行的某些区域将比别的地方。一种可能的解决方案是使用tube_radius
参数并单独绘制每个部分,尽管这看起来很糟糕,因为线条可能会很长并且有很多不同的部分。
答案 0 :(得分:1)
在GUI中,您可以转到Tube
管道并使用Vary_radius = 'vary_radius_by_scalar'
在脚本中你可以做到
import mayavi.mlab as mlab
import numpy as np
x = range(100)
y = range(100)
z = range(100)
s = np.random.uniform(0, 1, 100)
t = mlab.plot3d(x, y, z, s, tube_radius=10)
t.parent.parent.filter.vary_radius = 'vary_radius_by_scalar'
由于曲面的父级是模块管理器(颜色等),其父级是Tube
管道