0

我正在尝试在 Jupyter Notebook 中使用Interact 。在那个页面上有点下,它说

有时,您可能会注意到交互输出闪烁和跳跃,导致笔记本滚动位置随着输出的更新而改变。交互式控件有一个布局,因此我们可以将其高度设置为适当的值(当前是手动选择的),这样它就不会在更新时改变大小。

当我试图复制这个例子时,我就遇到了这个问题。

以下片段...

%matplotlib inline
from ipywidgets import interactive
import matplotlib.pyplot as plt
import numpy as np

def f(m, b):
    plt.figure(2)
    x = np.linspace(-10, 10, num=1000)
    plt.plot(x, m * x + b)
    plt.ylim(-5, 5)
    plt.show()

interactive_plot = interactive(f, m=(-2.0, 2.0), b=(-3, 3, 0.5))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot

...应该产生这个输出:

在此处输入图像描述

但我只得到这个:

在此处输入图像描述

准确地说,滑块确实会弹出半秒钟,但似乎被图表覆盖了。我猜这正是他们正在解决的问题。350所以我认为我可以使用与in不同的值来解决问题output.layout.height = '350px',但到目前为止绝对没有成功。我试过 100、200、250、300、750 和 1400。

那么可能有其他原因导致问题吗?

感谢您的任何建议!

4

1 回答 1

1

我刚刚检查了这里提出的解决方案:

Jupyter Notebook:带有小部件的交互式绘图

适用于最近的经典 Jupyter。

为避免闪烁,您可以切换到使用 https://github.com/AaronWatters/jp_doodle - 查看名为 interactive* 的“功能”下的示例。jp_doodle dual_canvas 具有抑制中间更新的上下文管理器。

于 2018-11-27T15:27:04.913 回答