How to perform an onclick action on button click in python bokeh?
10,116
You must assign the callback to the button like this:
from bokeh.models import Button
from bokeh.io import curdoc
bt = Button(label='Click me')
def change_click():
print('I was clicked')
bt.on_click(change_click)
curdoc().add_root(bt)
Launch this with bokeh serve --show example.py
.
Note: Also take a look at my question where I talk about dynamic layout
Author by
Adarsh R
Updated on June 27, 2022Comments
-
Adarsh R almost 2 years
I'm new to bokeh and I have aquery regarding button onclick event, the code is provided below:
x = widgetbox(button) show(x) fruits = ['Answered', 'Unanswered','Total'] top1=[1,2,3] def callback(): p = figure(x_range=fruits, plot_height=250, title="sophia bot") p.vbar(x=fruits, top=top1, width=0.9) p.xgrid.grid_line_color = None p.y_range.start = 0 output_file("abc.html") show(p) button_one = Button(label="Start", disabled=True, callback=callback) show(button_one)
but this isnt performing the action, the following code when used alone, does plot the graph, i want the graph to be shown alongisde when i clicke the button.
fruits = ['Answered', 'Unanswered','Total'] top1=[1,2,3] p = figure(x_range=fruits, plot_height=250, title="sophia bot") p.vbar(x=fruits, top=top1, width=0.9) p.xgrid.grid_line_color = None p.y_range.start = 0 output_file("abc.html") show(p)
Thanks