在Python 3中绘制3D图形

时间:2015-07-15 05:06:01

标签: python python-3.x matplotlib mayavi

我想做一些3D绘图来可视化一些数据。我正在使用matplotlib但是matplotlib的3D功能没有2D绘图那么强大。我发现Mayavi非常强大。甚至matplotlib也会在http://matplotlib.org/mpl_toolkits/mplot3d/faq.html

中推荐它

但是,我之前的大多数工作都是在Python 3中完成的,但MayaVi还不支持Python 3。

如何在Python 3中绘制3D图形?

1 个答案:

答案 0 :(得分:5)

Vispy是一个在积极开发下的相对较新的框架,它最近变得强大而且足够灵活(在其高级接口中)以取代我自己对mayavi的使用。不足之处在于它现在对某些事情的涉及更多,因为这个高级别的东西仍在开发中。在观察了一段时间的进展后,我相信其余的问题将得到相当快的解决,我认为它最终会得到一个类似于mayavi的强大界面,但具有更多不同的功能,相对容易在较​​低级别进行修改。这与mayavi相比尤其如此,mayavi拥有自己的许多强大功能,但我发现一旦远离主要的,记录良好的界面,我们相对难以使用。

我也听说过有关glumpyPyQtGraph的好消息,但我没有尝试过这些。与mayavi相比,Glumpy的文档似乎相对稀疏并且专注于相对较低级别的操作,但其示例展示了广泛的强大效果。 PyQTGraph有一个更复杂的UI(如果你喜欢mayavi的ui东西,可能会更熟悉,虽然它不一样),也许还有一些不同的绘图功能。

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