☰Read-only archive⌕
Looking for help with Bokeh?

This is a read-only archive. Ask questions and join the conversation on GitHub.

Visit Community Support on GitHub →
Archived discussions · Captured October 28, 2026

Update a Markup widget

Community Support
KW1
KW1

Hi all,

I am fairly new to Bokeh, a complete novice when it comes to Javascript and HTML, but fairly experienced with Python.

What I am trying to do is create a Bokeh dashboard. That dashboard includes both plots and also text that is updated regularly.

Obviously with the plots there is no problem, I am making use of ColumnDataSources to update my data and everything is working really well.

However I can’t work out how to update the text in a Div widget. To be clear, it is not meant to be updated in response to a user interaction, rather I have a python loop that continuously “streams” new data that to display.

My apologies if this is really obvious to some, but I have spent a lot of time searching for this now and can’t seem to work out the answer. I thought maybe something could be done with a CustomJS callback but I am not sure how to get it to trigger, or how to pass data to it from python for that matter.

Thank you

⌁   Link to post
Sebastien_Roche
Sebastien_Roche

You can write a callback for the ColumnDataSource that you use to plot your data like below.

from bokeh.io import show

from bokeh.models import ColumnDataSource, CustomJS, Div

from bokeh.layouts import gridplot

from bokeh.plotting import figure

TOOLS = ‘tap’

fig = figure(tools=TOOLS)

source = ColumnDataSource(data={‘x’:range(10),‘y’:range(10)})

fig.scatter(x=‘x’,y=‘y’,size=20,source=source)

txt = Div(text=‘Text will be updated with current time anytime anything happens to the ColumnDataSource’)

source_code = “”"

var time = new Date()

txt.text = time.getHours() + “:” + time.getMinutes() + “:” + time.getSeconds();

“”"

source.callback = CustomJS(args={‘txt’:txt},code=source_code)

grid = gridplot([[fig,txt]],toolbar_location=None)

show(grid)

``

Here the text is updated anytime something happens to the data (it can only be clicked on in the example), but you could have it updated under certain conditions only.

⌁   Link to post
leela_vathi
leela_vathi

hi
you peoples are know very much about python can you tell how to read external text file in python or anaconda i am using codes but i didn’t any result tell me solution as early as possible.

Thanking you,

···

On Tue, Jul 25, 2017 at 8:12 AM, Sébastien Roche sebastienroche11@gmail.com wrote:

You can write a callback for the ColumnDataSource that you use to plot your data like below.

from bokeh.io import show

from bokeh.models import ColumnDataSource, CustomJS, Div

from bokeh.layouts import gridplot

from bokeh.plotting import figure

TOOLS = ‘tap’

fig = figure(tools=TOOLS)

source = ColumnDataSource(data={‘x’:range(10),‘y’:range(10)})

fig.scatter(x=‘x’,y=‘y’,size=20,source=source)

txt = Div(text=‘Text will be updated with current time anytime anything happens to the ColumnDataSource’)

source_code = “”"

var time = new Date()

txt.text = time.getHours() + “:” + time.getMinutes() + “:” + time.getSeconds();

“”"

source.callback = CustomJS(args={‘txt’:txt},code=source_code)

grid = gridplot([[fig,txt]],toolbar_location=None)

show(grid)

``

Here the text is updated anytime something happens to the data (it can only be clicked on in the example), but you could have it updated under certain conditions only.

–

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to bokeh+unsubscribe@continuum.io.

To post to this group, send email to bokeh@continuum.io.

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/58041e8b-6708-4bdc-a326-798ae8cb435d%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

⌁   Link to post
Bryan
Bryan

Hi,

This question is off-topic for this mailing list, which is created to help with support for the Bokeh visulization library. For general python programming advice or help, you might try Stack Overflow:

  https://stackoverflow.com/

Or a python community mailing list:

  Mailing Lists | Python.org

Thanks,

Bryan

···

On Jul 24, 2017, at 23:28, leela vathi <leelamails4u@gmail.com> wrote:

hi
             you peoples are know very much about python can you tell how to read external text file in python or anaconda i am using codes but i didn't any result tell me solution as early as possible.
                  Thanking you,

On Tue, Jul 25, 2017 at 8:12 AM, Sébastien Roche <sebastienroche11@gmail.com> wrote:
You can write a callback for the ColumnDataSource that you use to plot your data like below.

from bokeh.io import show
from bokeh.models import ColumnDataSource, CustomJS, Div
from bokeh.layouts import gridplot
from bokeh.plotting import figure

TOOLS = 'tap'

fig = figure(tools=TOOLS)

source = ColumnDataSource(data={'x':range(10),'y':range(10)})

fig.scatter(x='x',y='y',size=20,source=source)

txt = Div(text='Text will be updated with current time anytime anything happens to the ColumnDataSource')

source_code = """
var time = new Date()

txt.text = time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds();
"""

source.callback = CustomJS(args={'txt':txt},code=source_code)

grid = gridplot([[fig,txt]],toolbar_location=None)

show(grid)

Here the text is updated anytime something happens to the data (it can only be clicked on in the example), but you could have it updated under certain conditions only.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/58041e8b-6708-4bdc-a326-798ae8cb435d%40continuum.io\.

For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CAA0r%2BooYu-QQJ_ucVkyr__voMWb9WNZv7vBTn5BALjZF6AM36Q%40mail.gmail.com\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

⌁   Link to post

End of archived discussion · Replies are disabled