Python中的交互式绘图?

时间:2011-05-25 18:51:51

标签: python matplotlib visualization plot interactive

Matlab和Mathematica都具有允许用户使用滑块操纵绘图内容的功能。例如,如果您有一组3D数据,则可以轻松制作一个小程序,使您可以查看一组3D数据的2D切片,用户可以滑动滑块以显示切片。 python中是否有任何东西可以提供这种功能而无需付出太多努力?例如,是否可以在matplotlib或类似的东西中做这样的事情?我

感谢。

4 个答案:

答案 0 :(得分:5)

我的第一个想法是Mayavi,这对数据可视化非常有用,特别是在3D中。它依赖于VTK。它包含在Enthought风格的Python版本中,与Chaco一起用于2D绘图。要了解一下,请查看Travis Vaught在Multidimensional Data Visualization in Python - Mixing Chaco and Mayavi中的精彩截屏视频。

也可以将基本的交互功能(如滑块)嵌入到Matplotlib中,参见matplotlib.widgets和小部件示例。

最后,您可以使用rpy(或更好,rpy2)并从R界面中受益。

答案 1 :(得分:1)

你看过Vtk了吗? http://www.vtk.org/他们的一个演示完全符合您的要求。

答案 2 :(得分:1)

原则上,您可以在MathGL的帮助下完成此操作。这是用于绘图的跨平台GPL库。

对于每次点击鼠标,您可以在绘图或点击的对象中找到x,y,z位置,并相应地调整(重新绘制)其他一些信息。但是,您应该自己处理鼠标点击(例如,使用PyQt)。

答案 3 :(得分:1)

另一个选择是在SAGE计算接口/环境中使用python,它具有@interact命令(有关此命令的特定帮助,请参阅here