首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用外部JavaScript代码访问和更新Bokeh绘图或小部件?

问如何使用外部JavaScript代码访问和更新Bokeh绘图或小部件?
EN

Stack Overflow用户
提问于 2019-10-24 08:25:32
回答 1查看 1.1K关注 0票数 4

我有一个Bokeh图,它是由一个时间Bokeh滑块控制的。我试图通过单击按钮将滑块的时间和相应的绘图数据设置为浏览器的当前时间。

如果所有东西都是用JS开发的,我知道如何做同样的事情。但是我正在编写一个嵌入在HTML文件中的外部JS函数,我不知道如何访问Bokeh对象(在本例中是Slider)并对它们进行操作。我只能使用回调函数从滑块开始并更改基础数据,而不是反过来。我需要使用一个按钮将滑块的值设置为当前时间!

代码语言:javascript
复制
callback = CustomJS( JS Code to cahnge the data; )

Timeslider = DateSlider(start=dt(2019, 9, 1, 16, 0, 0), end=dt(2019, 9, 2, 8, 0, 0), value=dt(2019, 9, 1, 16, 0, 0), step=1) 

callback.args['time_slider'] = Timeslider
Timeslider.js_on_change('value', callback)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-24 10:47:28

您可以在Bokeh模板的block postamble部分嵌入另一个JS库,如描述的这里。然后,如果您给滑块一个名称,您可以这样访问它:

Python:

代码语言:javascript
复制
slider = Slider(start=0, end=10, value=5, name='my_slider')

联署材料:

代码语言:javascript
复制
var slider = Bokeh.documents[0].get_model_by_name('my_slider')
console.log('slider value before:', slider.value)
slider.value = 10
console.log('slider value after:', slider.value)

这是假设您的应用程序中只有一个Bokeh document (注意,0索引在documents[0]中)。然后,您可以像在Slider回调中一样访问和操作CustomJS对象,但请注意,在这种情况下,cb_obj和cb_data是不可用的。

参见下面完整的工作示例(Bokeh v1.3.0):

external_js.py:

代码语言:javascript
复制
from bokeh.io import save
from bokeh.models import Slider, Column
from bokeh.util.browser import view

template = """
{% block postamble %}
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <script>
        $(document).ready(function() {
            var slider = Bokeh.documents[0].get_model_by_name('my_slider')
            console.log('slider value before:', slider.value)
            slider.value = 10
            console.log('slider value after:', slider.value)
        });
    </script>
{% endblock %}
"""

slider = Slider(start=0, end=10, value=5, name='my_slider')

save(Column(slider), template=template)
view("external_js.html")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58537180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档