How to change elements online? For an example, i want to change color of a square every 1 second. How i can do it?
You can save the code below as main.py and run it as follows:
bokeh serve --show main.py
``
The content of main.py is:
from bokeh.models.widgets import Div, TextInput
from bokeh.models import ColumnDataSource
from bokeh.layouts import column
from bokeh.plotting import figure, curdoc
from bokeh.palettes import Dark2_5 as colors
import itertools
source = ColumnDataSource({‘x’: [2], ‘y’: [6], ‘color’: [‘olive’]})
color_index = 0
p = figure()
square = p.square(x = ‘x’, y = ‘y’, color = ‘color’, source = source, size = 80, alpha = 0.5)
def update():
global color_index
color_index = color_index + 1 if color_index + 1 < len(colors) else 0
square.data_source.data.update(x = [6], y = [2], color = [colors[color_index]])
curdoc().add_root(p)
curdoc().add_periodic_callback(update, 1000)
``
···
On Thursday, February 7, 2019 at 4:26:03 PM UTC+1, Стас Бокун wrote:
How to change elements online? For an example, i want to change color of a square every 1 second. How i can do it?