Manipulate[]
在 Wolfram Mathematica 中,我可以使用命令交互式地修改参数的值。
例如,Manipulate[n, {n, 1, 20}]
显示一个滑块,通过它可以改变 的值n
。
是否有任何简单的方法(即像魔法或装饰器,如在 SAGE 中)在 IPython 笔记本中实现相同的结果?
我不确定这是否会满足您的所有需求,因为它仍处于试验阶段,但似乎可以满足您的要求 - 查看 Jake VanderPlas 的静态交互式小部件。
我为跑步所做的事情如下:
获取源码并安装:
git clone https://github.com/jakevdp/ipywidgets
pip install ./ipywidgets
启动一个 ipython notebook 并example.ipynb
在ipywidgets
目录中使用 notebook
还有另一种类型的交互式可视化,其中可以使用平移、缩放和元数据(可能更多)。它由同一位作者撰写,并在他的博客D3 Plugins: Truly Interactive Matplotlib In Your Browser中进行了报道。
还有一些不错的文档:MPLD3: Bringing Matplotlib to the Browser
为了试验它,我或多或少做了同样的事情:
git clone https://github.com/jakevdp/mpld3
pip install ./mpld3/
现在可以运行create_example.py
脚本,或者更好的是,启动ipython notebook
并使用提供mpld3/notebooks/mpld3_demo.ipynb
的以及mpld3_plugins
博客中发布的有吸引力的示例。
值得注意的是,我使用的是 Python 的 Anaconda 发行版,其中包括 Jinja2;据我所知 Jinja2 是 mpld3 的要求。
我同意@interact
一个圣人装饰师会很好。