Cambiar gráficos de líneas con Select
Para tu tarea final, el fondo de inversión te ha pedido que prepares visualizaciones que permitan analizar el rendimiento bursátil de Electronic Arts.
Has decidido que el widget Select es ideal, para que puedan alternar entre las siguientes métricas: close, market_cap y volume.
El conjunto de datos stocks se ha filtrado para EA. Se han creado tres figuras (close, market_cap y volume) y los conjuntos de glifos (close_line, market_cap_line, volume) para cada métrica y se han precargado para ti.
Este ejercicio forma parte del curso
Visualización de datos interactiva con Bokeh
Instrucciones del ejercicio
- Crea
menullamando aSelect(), pasando una lista al argumentooptionsque contenga"Close","Market Cap"y"Volume"(en ese orden), estableciendovalueen"Close"y con el título"Metric". - Llama a un método apropiado de
menupara vincular el"value"del widget concallback. - Llama a
layoutdentro deshow, mostrando el widget encima de las figurasclose,market_capyvolume.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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")
____