Flygbolagsanalys
Hedgefonden siktar högt och vill förstå hur flygbolagsaktier har presterat.
Du ska skapa ett linjediagram över aktiekurs mot datum, där användarna kan växla mellan Delta Air Lines, Southwest Airlines och Boeing. Figuren och glyferna har redan laddats in åt dig:
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)
Den här övningen är en del av kursen
Interaktiv datavisualisering med Bokeh
Övningsinstruktioner
- Importera
Select-widgeten tillsammans medCustomJS. - Skapa
Select-widgeten och tilldelaoptionssom en lista med"Boeing","Delta"och"Southwest"(i den ordningen), ettvaluepå"Boeing"och entitlemed värdet"Airline". - Konfigurera widgeten så att
callback-funktionen anropas vid en förändring av"value".
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))