2011-05-25 117 views
11

Matlab和Mathematica都具有允许用户使用滑块操纵绘图内容的功能。例如,如果您有一组3D数据,则可以轻松制作一个小程序,让您查看一组3D数据的2D切片,用户可以滑动滑块以移动切片显示的位置。 python中有没有什么能够毫不费力地实现这种功能?例如,是否有可能在matplotlib中做类似的事情?我Python中的交互式绘图?

谢谢。

回答

5

我的第一个想法是Mayavi,这对数据可视化非常有用,特别是在3D中。它依靠VTK。它包含在Enthought版本的Python中,以及用于2D绘图的Chaco。要想到一个想法,请看Multidimensional Data Visualization in Python - Mixing Chaco and Mayavi的Travis Vaught的精彩视频。

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

最后,您可以使用rpy(或更好的,rpy2)并受益于R接口。

+0

这似乎很有前途,谢谢。 – Chironex 2011-05-25 19:26:31

+0

除此之外,IPython现在具有新的交互式绘图功能。 (查看2.1版本!) – daviewales 2014-05-26 16:24:54

1

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

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

1

另一种选择是使用Python的SAGE计算接口/环境,它具有@interact命令中(见here获得具体的帮助这个命令)