在Python 3中绘制3D图形

iur*_*adz 10 python matplotlib python-3.x mayavi

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

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

我怎么能在Python 3中绘制3D图形?

inc*_*ent 5

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

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

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