Mayavi中的多个图形

4 投票
1 回答
4484 浏览
提问于 2025-04-17 17:43

MATLAB有一个叫做hold的功能(如果我没记错的话,已经有一段时间没用过了),可以在同一个“图表”或窗口上绘制多个东西。请问在Mayavi中有没有类似的方法?我想把几个计算的结果可视化,并把它们都放在同一个图上。但我从文档中找不到相关的信息。

1 个回答

6

如果你在使用mayavi的mlab模块,它默认会把图形保持在一起。举个例子:

In [1]: from mayavi import mlab

In [2]: import numpy as np

In [3]: mlab.plot3d(np.random.rand(10), np.random.rand(10), np.random.rand(10))
Out[3]: <mayavi.modules.surface.Surface at 0x2a4eade0>

In [4]: mlab.plot3d(np.random.rand(10), np.random.rand(10), np.random.rand(10))
Out[4]: <mayavi.modules.surface.Surface at 0x28218ab0>

In [5]: mlab.plot3d(np.random.rand(10), np.random.rand(10), np.random.rand(10))
Out[5]: <mayavi.modules.surface.Surface at 0x2a51db40>

In [6]: mlab.plot3d(np.random.rand(10), np.random.rand(10), np.random.rand(10))
Out[6]: <mayavi.modules.surface.Surface at 0x2a840bd0>

这三个图会显示在同一个图形里。

如果你创建一个新的图形,新的图就会添加到这个新图形里。你也可以直接用figure这个参数,把新的图指定到某个特定的图形上。

撰写回答