用Python进行交互式绘图?

问题描述

| Matlab和Mathematica都具有允许用户使用例如滑块来操纵绘图内容功能。例如,如果您具有一组3D数据,则很容易制作一个小程序,使您可以查看一组3D数据的2D切片,用户可以在其中滑动滑块以移动显示的切片。 python中有什么可以让这种功能轻松完成的吗?例如,是否可以在matplotlib中执行类似操作?一世 谢谢。     

解决方法

我的第一个想法是Mayavi,它非常适合数据可视化,尤其是在3D中。它依靠VTK。它包含在Enthought风格的Python版本中,并与Chaco一起用于2D绘图。要想出个主意,请看Travis Vaught在Python的多维数据可视化中不错的截屏视频-混合Chaco和Mayavi。 也可以将基本的交互功能(如滑块)嵌入Matplotlib,请参见
matplotlib.widgets
和小部件示例。 最后,您可以使用rpy(或更好的
rpy2
)并从R接口中受益。     ,你看过Vtk吗? http://www.vtk.org/他们的一个演示完全符合您的要求。     ,原则上,您可以借助MathGL做到这一点。这是用于绘图的跨平台GPL库。 对于每次鼠标单击,您都可以在图或单击的对象中找到x,y,z位置,并相应地调整(重新绘制)一些其他信息。但是,您应该自己处理鼠标单击(例如,使用PyQt)。     ,另一种选择是在SAGE计算接口/环境中使用python,它具有
@interact
命令(有关此命令的特定帮助,请参见此处)