3

我完全被以下内容难住了:

  1. 我在 Julia 1.6.3 中使用当前版本的 Interact.jl 和 WebIO.jl 创建了一个绘图,并使用 @manipulate 宏创建一个带有选项框和滑块的绘图。这些图可以正常工作,并且可以按照您的期望进行适当的操作。

  2. 我正在使用安装了最新的 Conda 发行版的 MacOS 12.0.1。这是我在 jupyterlab 笔记本中使用的代码:

using Plots
using Interact
using DataStructures
x = y = 0:0.1:30

freqs = OrderedDict(zip(["π/4", "π/2", "3π/4", "π"], [π/4, π/2, 3π/4, π]))
mp = @manipulate for freq1 in freqs, freq2 in slider(0.01:0.1:4π; label="freq2")
    y = @. sin(freq1*x) * sin(freq2*x)
    plot(x, y)
end

这将按预期在新笔记本中运行。但是:保存笔记本,重新启动 jupyterlab 并打开笔记本,然后将创建绘图,但交互方面将不起作用。只是为了让事情变得更加混乱(但这可能是一个我似乎无法用来解决问题的巨大线索),如果你打开一个空白笔记本,将代码复制并粘贴到那个新笔记本的一个单元格中,它会工作!

我已经在 Safari、Chrome 和 Firefox 上尝试过,并且存在相同的行为。

任何人都可以阐明这一点吗?Interact 小部件使 Julia 成为如此有价值的教学工具,虽然我可以在 Pluto 笔记本中工作,但我真的希望能够使用标准的 Julia 笔记本。

更新:(2021 年 11 月 12 日 19:39 UTC)

刚刚在 PopOS 上检查了上面的代码!使用 Julia 1.6.3。同样的问题。第一次,它运行并且滑块工作。保存并退出浏览器,杀死内核,然后重新启动 jupyter lab 结果失败:绘图已渲染,但滑块在操作时不再更新绘图。

提前致谢。我难住了。

4

0 回答 0