Spaces:
Runtime error
Runtime error
| # Copied from https://github.com/ash2shukla/streamlit-bokeh-events | |
| import streamlit as st | |
| from bokeh.plotting import figure | |
| from bokeh.models import ColumnDataSource, CustomJS | |
| # import function | |
| from streamlit_bokeh_events import streamlit_bokeh_events | |
| # create plot | |
| p = figure(tools="lasso_select") | |
| cds = ColumnDataSource( | |
| data={ | |
| "x": [1, 2, 3, 4], | |
| "y": [4, 5, 6, 7], | |
| } | |
| ) | |
| p.circle("x", "y", source=cds) | |
| # define events | |
| cds.selected.js_on_change( | |
| "indices", | |
| CustomJS( | |
| args=dict(source=cds), | |
| code=""" | |
| document.dispatchEvent( | |
| new CustomEvent("YOUR_EVENT_NAME", {detail: {your_data: "goes-here"}}) | |
| ) | |
| """ | |
| ) | |
| ) | |
| # result will be a dict of {event_name: event.detail} | |
| # events by default is "", in case of more than one events pass it as a comma separated values | |
| # event1,event2 | |
| # debounce is in ms | |
| # refresh_on_update should be set to False only if we dont want to update datasource at runtime | |
| # override_height overrides the viewport height | |
| result = streamlit_bokeh_events( | |
| bokeh_plot=p, | |
| events="YOUR_EVENT_NAME", | |
| key="foo", | |
| refresh_on_update=False, | |
| override_height=600, | |
| debounce_time=500) | |
| # use the result | |
| st.write(result) | |