Zacznij terazZacznij za darmo

Zmiana wykresów liniowych za pomocą Select

W ramach ostatniego zadania fundusz hedgingowy poprosił cię o przygotowanie wizualizacji umożliwiających analizę wyników giełdowych Electronic Arts.

Postanawiasz skorzystać z widżetu Select – będzie idealny, ponieważ pozwoli przełączać się między następującymi metrykami: close, market_cap i volume.

Zbiór danych stocks został przefiltrowany dla EA. Trzy wykresy (close, market_cap i volume) oraz zestawy glifów (close_line, market_cap_line, volume) zostały już dla ciebie utworzone i wczytane.

To ćwiczenie jest częścią kursu

Interaktywna wizualizacja danych z Bokeh

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz menu, wywołując Select() i przekazując do argumentu options listę zawierającą "Close", "Market Cap" i "Volume" (w tej kolejności), ustawiając value na "Close" oraz podając tytuł "Metric".
  • Wywołaj odpowiednią metodę na obiekcie menu, aby powiązać "value" widżetu z callback.
  • Wywołaj layout wewnątrz show, wyświetlając widżet powyżej wykresów close, market_cap i volume.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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")
____
Edytuj i uruchom kod