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) | |