问题标签 [ipywidgets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
405 浏览

python - 一个变量的两个 ipython 小部件

我正在尝试制作一个交互式功能,我可以使用 2 个小部件来控制相同变量的输入。我尝试这样做是因为我希望可以选择滑动值(以便快速查看)并选择一个特定的值(键入一个值)。我尝试将小部件与ipywidget.jslink. 我猜想一旦链接的小部件可以输入其中任何一个中的值以传递给变量。然而,情况并非如此:下面,只有我在 Slider 中设置的值会更新函数(换句话说,在小部件中输入值不会更新输出)。为什么不起作用jslink?在此链接中,我发现替换ipw.jslink效果traitlets.link很好。

0 投票
3 回答
1306 浏览

javascript - 在 Jupyter/iPython 笔记本中以图形方式选择几何对象

Shapely 和 Jupyter/iPython 之间的互操作性很好。我可以做一些很酷的事情,比如创建一堆几何形状并在笔记本中查看它们:

...Jupyter 会告诉我这个:

Jupyter_Shapely_output

现在这很酷!它对我来说特别有用,可以快速查看和编辑,例如构成二维有限元网格的多边形。

遗憾的是,生成的图像只是静态 SVG 图形;没有内置交互。能够在 iPython 中使用相同的图形界面选择图像中这些对象的子集会很有帮助。

更具体地说,我希望能够创建一个列表并将一些显示的多边形添加到其中,例如,单击/选择它们,或在它们周围拖动套索/框,也可能在单击时将它们删除第二次。

我已经研究过尝试使用 matplotlib 或 javascript 来做到这一点,尽管我已经取得了一些初步的成功,但在我目前的知识/技能水平上,这种项目可能超出了我的深度。

由于 Jupyter 是一个有点庞大的工具,有很多我可能不知道的功能,我想知道是否已经有现有的解决方案可以在 Jupyter 笔记本的上下文中进行此类交互?


更新#1:看起来我将不得不自己创造一些东西。令人高兴的是,本教程将使这变得更容易。

更新#2:Bokeh 似乎是一个更适合此目的的库。我相信我将放弃创建自定义 Jupyter 小部件的想法,转而使用 Bokeh 小部件和交互来创建应用程序。这样的应用程序可以在 Jupyter notebook 中使用,也可以在其他地方使用。

更新#3:无论如何,我最终还是使用了 jupyter 小部件系统。添加了我自己的答案,显示了概念证明。

0 投票
4 回答
625 浏览

ipython - 手动提取 ipywidget 值

我有这个代码 ipython 代码:

它按预期工作。当小部件的值发生变化时,该on_change函数被触发。但是,我想运行长时间的计算并定期检查小部件的更新。例如:

我怎样才能做到这一点?

0 投票
1 回答
1115 浏览

pandas - Jupyter/ipywidgets 在两个级别上对数据帧进行排序

谷歌让我失望了,所以希望有人能帮助我。

我正在使用 Jupyter 笔记本。我有一个数据框,并且正在尝试设置交互式小部件来对该数据框进行排序。

数据框是关于运动员的。我正在尝试按运动员姓名对数据框进行排序,然后按运动员参加的学科对其进行排序。所以,我希望能够选择“Jon”,然后在选择“Jon”之后,我希望能够缩小返回的数据范围,以便我可以查看“乔恩”的三级跳远(并且只有三级跳远)(如果选择),但如果我选择该选项,则可以切换到查看“乔恩的”跳远成绩。

这段代码给了我两个下拉菜单,但是“discipline_list”的下拉菜单根本不会改变返回的数据。很明显,这是因为视图函数没有对它做任何事情,但我不知道在视图函数中写什么才能得到我想要的结果。任何帮助,将不胜感激!

0 投票
1 回答
4318 浏览

python - 使用 Ipython ipywidget .Text() 创建多个变量

我想使用 widgets.Text() 来指定可以传递到 API 请求中的多个变量(年、月、日)。

根据对这个问题的回答,我能够成功地将输入从单个文本框保存到单个变量。但我想同时显示多个文本框并将它们的输入值保存到三个不同的输出变量中。我不确定如何从给出的示例中进行概括。

此代码适用于单个变量:

我希望能够尽可能高效地做这样的事情:

抱歉,如果这不够清楚!我可以根据需要澄清。非常感谢任何指导。谢谢!

0 投票
5 回答
14616 浏览

python - Jupyter 笔记本:未检测到小部件 Javascript

问:我在 MacOs 10.9 中使用 pip3 安装了 python3 和 jupyter notebook。
当我尝试运行小部件时,它会给出没有 javascript 小部件的错误。我在 Jupyter-notebook 中安装了 python3 和 R 内核。

代码:

错误:

尝试:

最后一个命令给出错误。

请注意,在 mac 我有 jupyter-nbextension 命令,但命令:

也不起作用。

但是jupyter nbextension enable widgetsnbextension没有错误,也什么都不做。如果我运行代码,则会弹出相同的错误。

还,

给出'6.0.0'。

一些注意事项:

相关链接:

如何安装小部件?
我需要单独安装java吗?

0 投票
1 回答
5096 浏览

python - 在 jupyter notebook 中使用 ipywidgets 和 plotly

我想在 jupyter 笔记本中使用 plotly 的离线绘图,并希望通过使用 ipywidgets 中的小部件来操作或重绘绘图。不幸的是,我没有设法适当地更新情节:

提供的代码有两个缺点: 它多次绘制图形。图表仅在使用滑块时显示。我该如何克服这两个问题?请注意,我不想使用 plotly 的在线绘图功能,也不想使用交互来解决这个问题。

非常感谢您的回答。

0 投票
0 回答
740 浏览

python - 如何在 Python 中使用单个输入更改多个交互式绘图

我正在尝试使用 Jupyter Notebook 中的 ipywidgets 库制作几个交互式绘图。但是我面临一个问题:当一个输入小部件(例如滑块)发生变化时,我尝试使多个绘图发生变化。

在添加的 MWE 中,这通过正弦和余弦函数进行了说明,它们都依赖于设置正弦和余弦函数幅度的单个输入小部件。因此,如果输入滑块的值设置为值 2,则正弦和余弦函数的幅度必须立即跟随。

如果您自己运行代码,您将看到两个滑块完美地一起移动。但是,并非两个图都相应地同时发生变化。

有人对此有解决方案吗?不一定用ipywidgets?

先感谢您,

瑞克

0 投票
1 回答
1968 浏览

tabwidget - ipywidgets 使用 Tab 内的容器

需要在选项卡内设置一个 ipywidget 容器小部件(HBox、VBox 等)以下是我尝试使用文本小部件列表作为任何其他小部件的替代的虚拟示例

创建 VBox 小部件中的内容列表,将此小部件列表绑定到 VBox,然后显示生成的 VBox;这按预期工作:

现在我正在尝试在 Tab 小部件的 Tab 中设置现有的 VBox,这就是它不起作用的地方,并且在运行以下命令时会抛出一个可以看到的错误:

但我想要它做的是除了选项卡中的 VBox 之外,就像我在 Qt 中所做的那样

0 投票
1 回答
2559 浏览

python - 使用 matplotlib 和 ipywidget 的交互式图形

我正在尝试跟进讨论的问题,但没有完全解决,这里: Interactive matplotlib using ipywidgets

我在 jupyter notebook 环境中使用 Python 2.7,并希望在 jupyter 中以交互方式修改以下函数。

虽然滑块显示并且可以修改,但不显示图表。

我的误解在哪里?

[编辑] 现在使用下面的解决方案效果很好,结果: 在此处输入图像描述