【问题标题】:iPython: Manipulate-like commandiPython:类似操作的命令
【发布时间】:2013-11-12 22:58:18
【问题描述】:

在 Wolfram Mathematica 中,我可以使用 Manipulate[] 命令交互式地修改参数的值。

For example, Manipulate[n, {n, 1, 20}] 显示了一个滑块,通过它可以改变n 的值。

是否有任何简单的方法(例如魔术或装饰器,like in SAGE)在 IPython 笔记本中实现相同的结果?

【问题讨论】:

  • 我不知道,但是 sage == ipython 在底层,所以您可能可以相当轻松地调整该代码。

标签: python wolfram-mathematica ipython ipython-notebook sage


【解决方案1】:

更新
这是在 IPython 2.0(2014 年 4 月 1 日发布)中添加的,名为 Interactive Widgets,适用于网络笔记本。

原答案
这是 2.0 的持续工作(12 月发布的一些东西)请查看 YouTube 上的 IPython-dev 会议以了解进度。 last meeting from oct 21 at 28min-ish 有 John 的小部件演示,然后是 Brian 的 interact

【讨论】:

    【解决方案2】:

    我不确定这是否能满足您的所有需求,因为它仍处于试验阶段,但似乎可以满足您的要求 - 请查看 Jake VanderPlas 的 static interactive widgets

    为了跑步,我做了以下事情:

    获取源并安装:

    git clone https://github.com/jakevdp/ipywidgets
    pip install ./ipywidgets
    

    启动一个 ipython 笔记本并在 ipywidgets 目录中使用笔记本 example.ipynb 进行实验

    还有另一种类型的交互式可视化,其中可以使用平移、缩放和元数据(可能更多)。由同一作者撰写,并在他的博客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 装饰器会很好。

    【讨论】:

      猜你喜欢
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 2011-01-31
      • 2017-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多