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
Oefeninstructies
- Importeer de
Select-widget samen metCustomJS. - Maak de
Select-widget, metoptionsals een lijst met"Boeing","Delta"en"Southwest"(in die volgorde), eenvaluevan"Boeing"en eentitlevan"Airline". - Stel de widget zo in dat de functie
callbackwordt 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))