在 python 中更改使用 Mayavi 库创建的 vtk 对象 属性

Change property of vtk object created with Mayavi library in python

所以,我是 Mayavi 库的新手,实际上我今天才安装它,因为我需要绘制一些 3d 数据(matplotlib 不能很好地处理 3d 图)。我可以使用网格函数成功生成 3d 对象(xig、yig 和 zi 是使用 np.linspace 和 griddata 创建的 2d 矢量):

from mayavi import mlab
mlab.mesh(xig, yig, zi, colormap='viridis')

这生成了漂亮的图形:

但是,通过在 GUI 中尝试一下,我发现了一个可以实现边缘可视化的不错选项:

我更喜欢哪个!此选项位于:Mayavi pipeline>Surface>Actor>属性>More options>Edge visibility

现在,因为我想自动处理大量数据,所以我想在 python 脚本 itslef 中进行此更改,而不必每次都手动进入 GUI!但是我不明白该怎么做...

有人可以帮忙吗?我做了很多研究,但我对语法(我不习惯面向对象编程)以及 "vtk object"、"actor" 和公司的概念感到非常困惑。

谢谢

好的,我终于成功了!代码如下:

surf = mlab.mesh(xig, yig, zi, colormap='viridis')
surf.actor.property.edge_visibility = True
surf.actor.property.edge_color = (1,1,1)
surf.actor.property.line_width = 0.5

我通过反复试验找到了它,因为这在 mayavi 指南中没有记录...