Modificarea graficelor liniare cu Select
Pentru ultima ta sarcină, fondul de hedging ți-a cerut să creezi vizualizări care să permită analiza performanței acțiunilor Electronic Arts.
Decizi că widget-ul Select este ideal, astfel încât să poată comuta între următoarele metrici: close, market_cap și volume.
Setul de date stocks a fost filtrat pentru EA. Trei figuri (close, market_cap și volume) și seturi de glife (close_line, market_cap_line, volume) au fost create pentru fiecare metrică și sunt preîncărcate pentru tine.
Acest exercițiu face parte din cursul
Vizualizare interactivă a datelor cu Bokeh
Instrucțiuni pentru exercițiu
- Creează
menuapelândSelect(), transmițând o listă la argumentuloptionscare conține"Close","Market Cap"și"Volume"(în această ordine), setândvaluela"Close"și dând titlul"Metric". - Apelează o metodă corespunzătoare a lui
menupentru a lega"value"al widget-ului decallback. - Apelează
layoutîn interiorulshow, afișând widget-ul deasupra figurilorclose,market_capșivolume.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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")
____