Ich habe folgendes kleines Beispiel Skript Verwendung von numpy und Bokeh machen:HoverTool für mehrere Datenreihe in Bokeh Streudiagramm
import numpy as np
import bokeh.plotting as bp
from bokeh.objects import HoverTool
bp.output_file('test.html')
fig = bp.figure(tools="reset,hover")
x = np.linspace(0,2*np.pi)
y1 = np.sin(x)
y2 = np.cos(x)
s1 = fig.scatter(x=x,y=y1,color='#0000ff',size=10,legend='sine')
s1.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
s2 = fig.scatter(x=x,y=y2,color='#ff0000',size=10,legend='cosine')
s2.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
bp.show()
Das Problem ist, dass das Hover-Tool nur für die Kosinus-Kurve arbeitet, aber nicht für die Sinus.
Ich weiß, dass eine Option beiden Serien togehter zu plotten wäre und die Farbe der Punkte Kosinusdaten ändern:
import numpy as np
import bokeh.plotting as bp
from bokeh.objects import HoverTool
bp.output_file('test.html')
fig = bp.figure(tools="reset,hover")
x = np.linspace(0,2*np.pi)
y1 = np.sin(x)
y2 = np.cos(x)
x = np.array([x,x]).flatten()
y = np.array([y1,y2]).flatten()
blue = np.array('#0000ff').flatten()
red = np.array('#ff0000').flatten()
colors = np.array([blue.repeat(len(y1)),red.repeat(len(y1))]).flatten()
s1 = fig.scatter(x=x,y=y,color=colors,size=10,legend='sine & cosine')
s1.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
bp.show()
Aber dann verliere ich die Legende Eintrag für die zweite Farbe.
Wie kann ich den Mauszeiger über beide Datensätze bewegen und den entsprechenden Tooltip sehen?
Danke!
Max
Vielen Dank! Klappt wunderbar! – Max
Ich habe diesen Fehler: AttributeError: 'Generator' Objekt hat kein Attribut 'Tooltips'. Ich habe mein Bokeh mit diesem Befehl aktualisiert: pip install --pre -i https://pypi.anaconda.org/bokeh/channel/dev/simple bokeh --extra-index-url https://pypi.python.org/ simple/ –
Gleiches Problem wie Hamid auf 0.10 – dranxo