gpt4 book ai didi

python - 在 Bokeh javascript 回调中返回源

转载 作者:太空宇宙 更新时间:2023-11-03 20:03:34 24 4
gpt4 key购买 nike

想象一下this Bokeh 文档中的示例:

# modified to by used in a notebook

from bokeh.layouts import column
from bokeh.models import CustomJS, ColumnDataSource, Slider
from bokeh.plotting import Figure, output_notebook, show

x = [x*0.005 for x in range(0, 200)]
y = x

source = ColumnDataSource(data=dict(x=x, y=y))

plot = Figure(plot_width=400, plot_height=400)
plot.line('x', 'y', source=source, line_width=3, line_alpha=0.6)

callback = CustomJS(args=dict(source=source), code="""
var data = source.data;
var f = cb_obj.value
var x = data['x']
var y = data['y']
for (var i = 0; i < x.length; i++) {
y[i] = Math.pow(x[i], f)
}
source.change.emit();
""")

slider = Slider(start=0.1, end=4, value=1, step=.1, title="power")
slider.js_on_change('value', callback)

layout = column(slider, plot)

show(layout)

我想知道在更改要在笔记本的下一个单元格中的其他计算中使用的小部件后,是否有办法使用 y 的(最新)值。我想到的是在回调中返回 y,但我对任何其他想法持开放态度。

最佳答案

如果您希望 Python 运行时和 JS 输出之间完全同步,则必须在笔记本中嵌入 Bokeh 服务器应用程序。 (Bokeh 服务器具体来说就是保持事物同步。)否则 Jupyter Notebook 中的所有输出都只是单向的,即 Python -> JavaScript,不会有任何更新返回到Python 内核。

您可以在此处查看嵌入了 Bokeh 服务器应用程序的示例笔记本:

https://github.com/bokeh/bokeh/blob/master/examples/howto/server_embed/notebook_embed.ipynb

关于python - 在 Bokeh javascript 回调中返回源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59095426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com