我正在尝试在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参数并单独绘制每个部分,尽管这似乎是一种糟糕的做法,因为线条可能会变得相当长,并具有许多不同的部分。
发布于 2017-01-21 02:00:01
在图形用户界面中,您可以转到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管道
https://stackoverflow.com/questions/41768306
复制相似问题