MulaiMulai sekarang secara gratis

Mengubah plot garis dengan Select

Untuk tugas terakhir Anda, hedge fund meminta Anda menyusun visualisasi yang memungkinkan analisis kinerja saham Electronic Arts.

Anda memutuskan widget Select paling ideal, sehingga mereka dapat beralih di antara metrik berikut: close, market_cap, dan volume.

Himpunan data stocks telah difilter untuk EA. Tiga figure (close, market_cap, dan volume) serta set glyph (close_line, market_cap_line, volume) telah dibuat untuk tiap metrik dan sudah disiapkan untuk Anda.

Latihan ini adalah bagian dari kursus

Visualisasi Data Interaktif dengan Bokeh

Lihat Kursus

Petunjuk latihan

  • Buat menu dengan memanggil Select(), meneruskan sebuah list ke argumen options yang berisi "Close", "Market Cap", dan "Volume" (dalam urutan tersebut), menetapkan value ke "Close", dan memberikan judul "Metric".
  • Panggil metode menu yang sesuai untuk mengaitkan "value" pada widget dengan callback.
  • Panggil layout di dalam show, menampilkan widget di atas figure close, market_cap, dan volume.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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")
____
Edit dan Jalankan Kode