Aan de slagGa gratis aan de slag

Reisanalyse

Het hedgefonds mikt hoog en wil de prestaties van luchtvaartaandelen begrijpen.

Je maakt een lijndiagram van aandelenkoers tegen datum, waarbij kijkers kunnen schakelen tussen Delta Air Lines, Southwest Airlines en Boeing. De figuur en glyphs zijn alvast voor je klaargezet:

boeing = stocks.loc[stocks["name"] == "BA"]
delta = stocks.loc[stocks["name"] == "DAL"]
southwest = stocks.loc[stocks["name"] == "LUV"]
fig = figure(x_axis_label="Date", y_axis_label="Stock Price", 
             x_axis_type="datetime")
boeing_line = fig.line(x=boeing["date"], y=boeing["close"],
                       alpha=0.5)
delta_line = fig.line(x=delta["date"], y=delta["close"], 
                      color="red", alpha=0.5)
sw_line = fig.line(x=southwest["date"], y=southwest["close"], 
                   color="green", alpha=0.5)

Deze oefening maakt deel uit van de cursus

Interactieve datavisualisatie met Bokeh

Cursus bekijken

Oefeninstructies

  • Importeer de Select-widget samen met CustomJS.
  • Maak de Select-widget, met options als een lijst met "Boeing", "Delta" en "Southwest" (in die volgorde), een value van "Boeing" en een title van "Airline".
  • Stel de widget zo in dat de functie callback wordt uitgevoerd bij een wijziging in "value".

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Import modules
____

# Create Select widget
menu = ____(____=["____", "____", "____"], ____="____", ____="____") 

callback = CustomJS(args=dict(line_1=boeing_line, line_2=delta_line,
                             line_3=sw_line), code="""
line_1.visible = true
line_2.visible = true
line_3.visible = true
if (this.value == "Boeing") {line_2.visible = false
							 line_3.visible = false} 
    else {line_1.visible = false}
if (this.value == "Delta") {line_1.visible = false
							line_3.visible = false} 
    else {line_2.visible = false}
if (this.value == "Southwest") {line_1.visible = false
								line_2.visible = false} 
    else {line_3.visible = false}
""")

# Set up interaction
menu.____("____", ____)
output_file(filename="airline_stocks.html")
show(column(menu, fig))
Code bewerken en uitvoeren