我是Java脚本的新手,所以请原谅我的无知。
我正在使用文档中的示例代码。
from bokeh.io import output_file, show
from bokeh.models.widgets import Slider
output_file("slider.html")
slider = Slider(start=0, end=10, value=1, step=.1, title="Stuff")
show(slider)
每当滑块移动时,“ Stuff”旁边的值都会更改,这在我想的JS中会发生。 有没有办法将这种动态变化的值存储在Python中?
答案 0 :(得分:1)
“在Python中存储”意味着实际上正在运行一个Python进程,以将值存储在其中。但是,当您运行上述脚本时,情况并非如此。事件的顺序是:
就这样,这不是入门者。要使“存储在Python中”有意义,就必须有一些持久的,长期运行的Python流程。该过程就是Bokeh Server(它是专门为填补这个角色而创建的)。代码的典型Bokeh服务器应用程序版本可能如下所示:
from bokeh.io import curdoc
from bokeh.models.widgets import Slider
slider = Slider(start=0, end=10, value=1, step=.1, title="Stuff")
def callback(attr, old, new):
# do something here with new slider values
slider.on_change('value', callback)
curdoc().add_root(slider)
这将通过使用bokeh serve
命令在命令行上运行(不作为“常规” Python脚本运行):
bokeh serve --show app.py
--show
将自动打开Web浏览器。
还可以将Bokeh服务器应用程序嵌入Jupyter Notebook中。您可以找到可以在本地here运行的示例笔记本。