如何使用 Bokeh BoxSelect 工具?

How to use Bokeh BoxSelect tool?

我正在尝试使用 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)

拖动鼠标时选择框出现,但没有调用回调。

(使用散景 0.11.1 和 Python 3.5.1)

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