Python 如何仅在bokeh和jupyter笔记本上单击按钮时在图形上循环

Python 如何仅在bokeh和jupyter笔记本上单击按钮时在图形上循环,python,jupyter-notebook,bokeh,Python,Jupyter Notebook,Bokeh,我正在Jupyter笔记本上运行Bokeh: from bokeh.io import output_notebook, show from bokeh.plotting import figure output_notebook() 由于回调函数,我有一个图形永远运行的例子 import numpy as np from numpy import pi from bokeh.client import push_session from bokeh.driving import cosine

我正在Jupyter笔记本上运行Bokeh:

from bokeh.io import output_notebook, show
from bokeh.plotting import figure
output_notebook()
由于回调函数,我有一个图形永远运行的例子

import numpy as np
from numpy import pi
from bokeh.client import push_session
from bokeh.driving import cosine
from bokeh.plotting import figure, curdoc
from bokeh.models import CustomJS, ColumnDataSource, Slider

x = np.linspace(0, 4*pi, 80)
y = np.sin(x)

p = figure()
r1 = p.line([0, 4*pi], [-1, 1], color="firebrick")
r2 = p.line(x, y, color="navy", line_width=4)

session = push_session(curdoc())

@cosine(w=0.03)
def update(step):
    r2.data_source.data["y"] = y * step
    r2.glyph.line_alpha = 1 - 0.8 * abs(step)

curdoc().add_periodic_callback(update, 50)
session.show(p)
session.loop_until_closed()
我的问题是,我只想在用户需要时运行/更新此图(通过按钮或customJS,不管它如何工作!)

我找不到任何办法去做那件事。有人知道Bokeh有没有可能?
谢谢大家!

也许这个:是的!这正是我想要的!谢谢你,老顽固。也许这是:是的!这正是我想要的!谢谢你,老顽固。