gpt4 book ai didi

python - 从 jupyter 笔记本中的 Bokeh 小部件访问数据

转载 作者:太空宇宙 更新时间:2023-11-03 15:59:26 25 4
gpt4 key购买 nike

我想在 jupyter 笔记本中使用具有自动完成功能的文本输入小部件。因此,我使用了 bokeh.models.widgets.inputs 中的 AutocompleteInput()

from bokeh.models.widgets.inputs import AutocompleteInput
from bokeh.io import output_notebook
from bokeh.plotting import show

output_notebook()

txt_input = AutocompleteInput(completions=['val1', 'val2'])
show(txt_input)

Displaying the widget and autocompletion works fine ,但是如何在更改时访问输入小部件的值? txt_input.value 仅返回默认值(空字符串)。

最佳答案

从 Bokeh 0.12.3 开始,Jupyter 笔记本中 Bokeh 小部件的更全面集成为 still an open issue

但是,有一些解决方法,尽管它们可能被认为有些笨拙。这是一个 CustomJS 回调,您可以传递给小部件来设置 python 值:

from bokeh.models import CustomJS

callback = CustomJS(code="""
if (IPython.notebook.kernel !== undefined) {
var kernel = IPython.notebook.kernel;
cmd = "widget_value = '" + cb_obj.value + "'";
kernel.execute(cmd, {}, {});
}
""")

结果如下:

enter image description here

<小时/>

CustomJS 代码中的 cmd 变量的值是将在当前运行的 Jupyter 内核中执行的 Python 代码字符串。例如,如果您需要调用某些 python 函数,您也可以这样做。

关于python - 从 jupyter 笔记本中的 Bokeh 小部件访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40483510/

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