Saltar al contenido

¿Cómo capturar el valor del widget desplegable en bokeh python?

Solución:

EDITAR Esta respuesta ya no se aplica a las versiones 2.XX de Bokeh. Vea el comentario y la otra respuesta a continuación.

Si establece on_change, por ejemplo, de la siguiente manera:

dropdown.on_change('value', function_to_call)

se puede acceder al valor del elemento seleccionado en function_to_call como sigue:

def function_to_call(attr, old, new):
    print dropdown.value

Para que esto funcione, el menú desplegable debe estar definido antes de function_to_call.

La documentación sobre cómo acceder a los valores establecidos en los widgets con on_click y on_change (bokeh versión 12.1) se puede encontrar aquí en la parte superior de la página:

http://docs.bokeh.org/en/latest/docs/user_guide/interaction/widgets.html

EDITAR

Para obtener comentarios interactivos, debe ejecutar bokeh en modo servidor, de modo que el código Python se pueda evaluar cuando interactúe con un widget. Cambié tu ejemplo ligeramente para permitir que se ejecute con el

bokeh serve --show file_name.py

mando. A continuación, el código siguiente imprime el elemento seleccionado en el terminal.

from bokeh.io import output_file, show
from bokeh.layouts import widgetbox
from bokeh.models.widgets import Dropdown
from bokeh.plotting import curdoc

menu = [("Quaterly", "time_windows"), ("Half Yearly", "time_windows"), None, ("Yearly", "time_windows")]
dropdown = Dropdown(label="Time Period", button_type="warning", menu=menu)

def function_to_call(attr, old, new):
    print dropdown.value

dropdown.on_change('value', function_to_call)

curdoc().add_root(dropdown)

Consulte aquí para obtener más información:

http://docs.bokeh.org/en/latest/docs/user_guide/server.html

En Bokeh 2.0.0, Dropdown.value fue removido. La forma correcta de obtener el elemento en el que se ha hecho clic es:

from bokeh.models import Dropdown

d = Dropdown(label="Click me", menu=['a', 'b', 'c'])


def handler(event):
    print(event.item)


d.on_click(handler)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *