2016-07-18 16 views
0

Ich versuche, das BoxSelect-Tool zu verwenden, aber mein Rückruf wird nicht aufgerufen. Dies habe ich versucht, basierend auf Ausschnitten, die ich im Internet gefunden habe.Wie benutze ich Bokeh BoxSelect tool?

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) 

Die Auswahlbox zeigen wird, wenn die Maus ziehen, aber der Rückruf wird nicht aufgerufen.

(mit Bokeh 0.11.1 und Python 3.5.1)

Antwort

0

Okay, so fand ich die Antwort: es, dass die Liniendiagramme Auswahl nicht unterstützen scheint. Ändern der p.line in p.scatter macht es funktioniert. In meiner realen App füge ich unsichtbare Punkte zur Linie hinzu, so dass die Auswahl funktioniert. Dies ist ein Workaround, aber es bringt mich in Schwung.