在Python 3中绘制3D图形

10
我想要进行一些3D图形绘制来可视化一些数据。我正在使用matplotlib,但是matplotlib的3D功能不如2D绘图强大。我发现Mayavi非常强大。甚至matplotlib在http://matplotlib.org/mpl_toolkits/mplot3d/faq.html中也推荐使用它。
然而,我以前的大部分工作都是在Python 3中完成的,但MayaVi目前还不支持Python 3。
那么如何在Python 3中绘制3D图形呢?

1
pyopenglpyvtk应该更容易使用,但我不确定,因为我正在使用pyopengl - lskrinjar
我稍微修改了一个问题的方向,这样过于敏感的StackOverflow管理员就不会立刻关闭问题,我们可以在这里真正地帮助你。 - Mikko Ohtamaa
1个回答

6

Vispy 是一个新的框架,正在积极开发中。最近,它的高级接口已经变得强大而灵活,足以取代我自己使用的 Mayavi。缺点是目前某些事情需要更多的涉及,因为这个高级部分仍在开发中。经过一段时间的观察,我相信剩余的问题将很快得到解决,并且我认为它将最终拥有类似于 Mayavi 的强大接口,但具有更多的特性,可以在较低的级别上相对容易地修改。特别是与 Mayavi 相比,Mayavi 本身拥有许多强大的功能,但一旦脱离主要的、有文档支持的接口,我发现它相对较难处理。

我也听说过 glumpyPyQtGraph 很不错,但我还没有尝试过。Glumpy 的文档相对较少,重点是相对于 Mayavi 较低级别的操作,但其示例展示了广泛的强大效果。PyQTGraph 有一个更复杂的 UI(如果你喜欢 Mayavi 的 UI,可能更熟悉),并且可能具有一些不同的绘图特性。

当然,你也可以直接使用 OpenGL,但这意味着需要重新发明很多轮子。如果倾向于这种方式,我认为 Vispy(或者可能是 Glumpy)仍然是一个不错的选择,因为它的低级别 OpenGL 包装器很好,但你也可以潜在地利用其更高级别的东西。


看起来,Vispy 的高级函数仍在开发中,并且缺少一些有用的功能,例如轴。而 Visvis 包是由 Vispy 的开发人员开发的,其高级函数要比 Vispy 更成熟。 - iuradz
Vispy还具有visvis缺乏的功能,并且由于其正在积极开发中,我发现它更适合我。如果您没有相同的要求,那么它可能是一个很好的选择。 - inclement

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接