2016-04-12 14 views
1

Ich beginne, Bokeh zu verwenden, um Daten zu plotten, die keine gemeinsame x- oder y-Variable teilen. Ich würde gerne in der Lage sein, eine Linie auszuwählen und die anderen, nicht ausgewählten Linien grau auszublenden. Idealerweise würde die ausgewählte Linie auch an die Vorderseite des Diagramms gebracht werden.Farbe der nicht ausgewählten Bokeh-Linien ändern

Bisher war es mir möglich, die Linie auszuwählen, aber ich finde keine Möglichkeit, die nicht ausgewählten Linien auszugrauen oder die Höhe der ausgewählten Linie einzustellen.

import numpy as np 
from bokeh.plotting import figure, show, output_file 
from bokeh.models.sources import ColumnDataSource 
from bokeh.models import Line,TapTool 

output_file("test.html") 

x0s = np.random.randint(0,20,20) 
y0s = np.random.randint(0,20,20) 
x1s = np.random.randint(0,20,20) 
y1s = np.random.randint(0,20,20) 

p_left = figure(tools=[TapTool()]) 

for xs,ys in zip([x0s,x1s],[y0s,y1s]): 
    source = ColumnDataSource({'x': xs, 'y': ys}) 
    default_line = Line(x='x', y='y', line_color='blue', line_width=2) 
    selected_line = Line(line_color='red', line_width=4) 
    nonselected_line = Line(line_color='grey') 
    p_left.add_glyph(source,default_line,selection_glyph=selected_line,nonselection_glyph=nonselected_line) 

show(p_left) 

Antwort

2

Ich bin in einer ähnlichen Situation, und fand dieses Beispiel:

http://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#selected-and-unselected-glyphs

habe es selbst nicht ausprobiert, aber scheint nahe zu sein, was Sie suchen.

EDIT Ich habe es einfach versucht, funktionierte einwandfrei für mich.

+0

Können Sie bitte einige Skripte zeigen? Ich versuche das Gleiche, aber es sind immer alle Zeilen ausgewählt oder alle nicht ausgewählt - ich kann keine Zeile aus 3 auswählen – jf328

Verwandte Themen