lam*_*808 18 python wolfram-mathematica ipython sage ipython-notebook
在Wolfram Mathematica中,我可以使用该Manipulate[]命令以交互方式修改参数的值.
例如,Manipulate[n, {n, 1, 20}]
显示一个滑块,通过该滑块可以改变其值n.
在IPython笔记本中是否有任何简单的方法(例如魔法或装饰器,如SAGE)来实现相同的结果?
Mat*_*att 18
更新
这是在IPython 2.0(2014年4月1日发布)中添加的,它被称为交互式小部件,适用于Web笔记本.
原始答案
这是2.0的持续工作(12月发布的东西)看看YouTube上的IPython-dev会议,看看进展情况.从28点28分到28分钟的最后一次会议由约翰interact和Brian 提供了一个小部件演示.
我不确定这是否能满足您的所有需求,因为它仍然是实验性的,但似乎可以按照您的要求进行操作 - 查看Jake VanderPlas的静态交互式小部件.
我做的是如何运行如下:
获取源代码并安装:
git clone https://github.com/jakevdp/ipywidgets
pip install ./ipywidgets
Run Code Online (Sandbox Code Playgroud)
启动ipython笔记本并example.ipynb在ipywidgets目录中试用笔记本
还有另一种类型的交互式可视化,其中可以使用平移,缩放和元数据(可能更多).它是由同一作者在他的博客中报道的D3插件:在浏览器中真正的交互式Matplotlib.
还有很好的文档:MPLD3:将Matplotlib引入浏览器
为了试验它我做了或多或少相同:
git clone https://github.com/jakevdp/mpld3
pip install ./mpld3/
Run Code Online (Sandbox Code Playgroud)
现在可以运行create_example.py脚本了,甚至更好,开始ipython notebook使用提供的mpld3/notebooks/mpld3_demo.ipynb以及mpld3_plugins在博客中发布的有吸引力的示例.
值得注意的是,我正在使用包含Jinja2的蟒蛇的Anaconda发行版; 据我所知,Jinja2是mpld3的要求.
我确实同意一个@interact装饰者和一个圣人会很好.