Kom igångKom igång gratis

Ändra linjediagram med Select

Som sista uppgift har hedgefonden bett dig sammanställa visualiseringar för att analysera Electronic Arts aktiekursutveckling.

Du bestämmer dig för att Select-widgeten är idealisk, så att de kan växla mellan följande mätvärden: close, market_cap och volume.

Datamängden stocks har filtrerats för EA. Tre figurer (close, market_cap och volume) samt uppsättningar av glyfar (close_line, market_cap_line, volume) har skapats för varje mätvärde och är förinlästa åt dig.

Den här övningen är en del av kursen

Interaktiv datavisualisering med Bokeh

Visa kurs

Övningsinstruktioner

  • Skapa menu genom att anropa Select(), skicka en lista till argumentet options som innehåller "Close", "Market Cap" och "Volume" (i den ordningen), sätt value till "Close" och ge titeln "Metric".
  • Anropa en lämplig metod på menu för att koppla "value" i widgeten till callback.
  • Anropa layout inuti show och visa widgeten ovanför figurerna close, market_cap och volume.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Create menu
menu = ____
callback = CustomJS(args=dict(plot_one=close, plot_two=market_cap, plot_three=volume, line_1=close_line, line_2=market_cap_line, line_3=volume_line), code="""
plot_one.visible = true
plot_two.visible = true
plot_three.visible = true
line_1.visible = true
line_2.visible = true
line_3.visible = true
if (this.value == "Close") {plot_two.visible = false
                            plot_three.visible = false
                            line_2.visible = false
                            line_3.visible = false}
    else {plot_one.visible = false
          line_1.visible = false} 
if (this.value == "Market Cap") {plot_one.visible = false
                                 plot_three.visible = false
                                 line_1.visible = false
                                 line_3.visible = false} 
    else {plot_two.visible = false
          line_2.visible = false}
if (this.value == "Volume") {plot_one.visible = false
                             plot_two.visible = false
                             line_1.visible = false
                             line_2.visible = false}
    else {plot_three.visible = false
          line_3.visible = false}
""")

# Set up the interaction
____

# Display the layout
output_file(filename="stock_metrics.html")
____
Redigera och kör kod