For bokeh-0.11.1
:
Basically, you need to run you python app in the bokeh server. Then anyone can connect to the server and view the graph in realtime.
First, write your program. Use this code for example:
# myplot.py
from bokeh.plotting import figure, curdoc
from bokeh.driving import linear
import random
p = figure(plot_width=400, plot_height=400)
r1 = p.line([], [], color="firebrick", line_width=2)
r2 = p.line([], [], color="navy", line_width=2)
ds1 = r1.data_source
ds2 = r2.data_source
@linear()
def update(step):
ds1.data['x'].append(step)
ds1.data['y'].append(random.randint(0,100))
ds2.data['x'].append(step)
ds2.data['y'].append(random.randint(0,100))
ds1.trigger('data', ds1.data, ds1.data)
ds2.trigger('data', ds2.data, ds2.data)
curdoc().add_root(p)
# Add a periodic callback to be run every 500 milliseconds
curdoc().add_periodic_callback(update, 500)
Then run the server from the command line, with your program:
C:\>bokeh serve --show myplot.py
This will open the browser with your realtime graph.
For all the details see the bokeh server documentation.