我正在尝试在Jupyter笔记本中使用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
中的output.layout.height = '350px'
不同的值来解决该问题,但是绝对不能成功。我已经尝试过100、200、250、300、750和1400。
那么还有其他原因引起问题吗?
谢谢您的任何建议!
答案 0 :(得分:1)
我刚刚检查了此处提出的解决方案:
Jupyter Notebook: interactive plot with widgets
与最近的经典Jupyter一起使用。
为避免闪烁,您可以切换到使用 https://github.com/AaronWatters/jp_doodle-看例子 在“功能”下命名为“互动” *。 jp_doodle dual_canvas 有一个上下文管理器可以禁止中间更新。