☰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

Trigger "reset figure" when user updates data

Community Supportbokeh
Stefeni_Butterworth
Stefeni_Butterworth

I am developing a dashboard that uses Bokeh (v. 3.4.3) for all of the plots and Panel (v. 1.4.5) for the layout and widgets. The dashboard users frequently update the data and also heavily use the zoom and panning features. When the user is zoomed in and they update the data, the x-axis doesn’t always update.

Is it possible to somehow add a command to the update_data function below that will do the same thing as pressing the reset tool. I want to do something similar to this ticket, but using a Panel button instead of a Bokeh button.

Ultimately what I’m trying to do is reset the x-axis, but in the context of my dashboard using p.x_range.start interferes with some of the other features.

Any ideas?

from bokeh.models import ColumnDataSource
from bokeh.plotting import figure
import panel as pn

pn.extension()


data = {"x": [1, 2, 3, 4, 5], "y": [4, 7, 5, 10, 2]}
source = ColumnDataSource(data=data)

p = figure(tools=("xpan", "box_zoom", "reset", "save"))

p.line(x="x", y="y", source=source)


button = pn.widgets.Button(name="Update data")


def update_data(button):
    x = [x + 3 for x in source.data["x"]]
    y = source.data["y"]
    source.data = {"x": x, "y": y}


button.on_click(update_data)

layout = pn.Column(button, p)

layout.servable()

Enter panel serve {file_name.py} in the terminal to serve the dashboard.

⌁   Link to post

End of archived discussion · Replies are disabled