CommencezCommencez gratuitement

Analyse des déplacements

Le fonds spéculatif vise haut et souhaite comprendre la performance des actions du secteur aérien.

Vous allez produire un graphique linéaire du prix de l'action en fonction de la date, permettant aux utilisateurs de basculer entre Delta Air Lines, Southwest Airlines et Boeing. La figure et les glyphes ont été préchargés pour vous :

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)

Cette activité fait partie du cours

Visualisation de données interactive avec Bokeh

Voir le cours

Instructions de l’exercice

  • Importez le composant Select ainsi que CustomJS.
  • Créez le widget Select, en attribuant à options une liste contenant "Boeing", "Delta" et "Southwest" (dans cet ordre), une value de "Boeing", et un title de "Airline".
  • Configurez le widget pour exécuter la fonction callback lors d'un changement de "value".

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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))
Modifier et exécuter le code