Začněte nyníZačněte zdarma

Změna spojnicových grafů pomocí Select

V posledním úkolu tě hedgeový fond požádal o sestavení vizualizací pro analýzu výkonnosti akcií Electronic Arts.

Rozhodneš se, že widget Select bude ideální volba — uživatelé si díky němu budou moci přepínat mezi těmito metrikami: close, market_cap a volume.

Dataset stocks je už filtrovaný pro EA. Pro každou metriku jsou předpřipraveny tři grafy (close, market_cap a volume) a sady glyfů (close_line, market_cap_line, volume).

Toto cvičení je součástí kurzu

Interaktivní vizualizace dat s Bokeh

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř menu zavoláním Select(): předej seznam s hodnotami "Close", "Market Cap" a "Volume" (v tomto pořadí) do argumentu options, nastav value na "Close" a title na "Metric".
  • Zavolej příslušnou metodu objektu menu, která propojí "value" widgetu s callback.
  • Zavolej layout uvnitř show a zobraz widget nad grafy close, market_cap a volume.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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")
____
Upravit a spustit kód