如何使用Bokeh BoxSelect工具?

时间:2016-07-18 09:22:07

标签: callback selection bokeh

我试图使用BoxSelect工具,但我的回调没有被调用。这是我尝试的,基于我在网上找到的片段。

from bokeh.models.sources import ColumnDataSource
from bokeh.plotting import figure, curdoc

x = [1,2,3,4,5,6]
y = [i*i for i in x]
source = ColumnDataSource(data=dict(x=x,y=y))
p = figure(tools="xbox_select")
p.line("x", "y", source=source)

def selectedCallback(attr, old, new):
    print("Selected callback")

source.on_change('selected', selectedCallback)

curdoc().add_root(p)

拖动鼠标时会显示选择框,但不会调用回调。

(使用Bokeh 0.11.1和Python 3.5.1)

1 个答案:

答案 0 :(得分:0)

好的,所以我找到了答案:似乎线图不支持选择。将p.line更改为p.scatter会使其有效。在我的真实应用程序中,我向行添加了不可见的散点,以便选择起作用。这是一种解决方法,但它让我开始。