Javascript Bokeh的相关滑块,如何编写回调

Javascript Bokeh的相关滑块,如何编写回调,javascript,python,slider,interactive,bokeh,Javascript,Python,Slider,Interactive,Bokeh,我希望能够在3+维模拟的结果中滑动通过许多图。我通过Python使用Bokeh包 为了简单起见,假设我有两个维度:d和nc。但nc以以下方式依赖于d: if d=100, nc=56,57 if d=20, nc=5,6 我有4张照片: d_100_nc_56.png, d_100_nc_57.png, d_20_nc_5.png, d_20_nc_6.png 所以我需要两个滑块,一个用于d,一个用于nc,通过Bokeh.plotting.Figure的image_url函数循环

我希望能够在3+维模拟的结果中滑动通过许多图。我通过Python使用Bokeh包

为了简单起见,假设我有两个维度:d和nc。但nc以以下方式依赖于d:

if d=100, nc=56,57
if d=20, nc=5,6
我有4张照片:

 d_100_nc_56.png, 
 d_100_nc_57.png, 
 d_20_nc_5.png,
 d_20_nc_6.png
所以我需要两个滑块,一个用于d,一个用于nc,通过Bokeh.plotting.Figure的image_url函数循环.png图像。但是,当我在d中更改滑块时,nc滑块的值应该会自动更新

但是,我不知道如何将d滑块作为参数传递给nc滑块,以获取其属性并动态更新它们。这可能吗?否则,它会在很大程度上限制通过bokeh使用多个滑块。

编辑:更新为最新版本

将滑块作为
args
字典中的一项,以与传递
source
相同的方式传递。您在那里传递的任何Python端Bokeh模型都会自动提供给回调。然后,BokehJS模型属性与中描述的python属性完全匹配。下面是一个基于另一个滑块更新一个滑块的示例:

# Example from Bokeh 0.12.x

from bokeh.plotting import show, output_file
from bokeh.layouts import column
from bokeh.models import CustomJS, Slider

s1 = Slider(start=1, end=10, value=1, step=1)
s2 = Slider(start=0, end=1, value=0, step=1)

s1.callback = CustomJS(args=dict(s1=s1, s2=s2), code="""
    s2.end = s1.value;
""")

output_file("foo.html")

show(column(s1,s2))

非常感谢。这太棒了!python函数在
CustomJS.from_py_func(callback)
中的等价物是什么?在本例中,与更新的(更简单的)JS代码相同。就个人而言,我不喜欢来自_py_func的
# Example from Bokeh 0.12.x

from bokeh.plotting import show, output_file
from bokeh.layouts import column
from bokeh.models import CustomJS, Slider

s1 = Slider(start=1, end=10, value=1, step=1)
s2 = Slider(start=0, end=1, value=0, step=1)

s1.callback = CustomJS(args=dict(s1=s1, s2=s2), code="""
    s2.end = s1.value;
""")

output_file("foo.html")

show(column(s1,s2))