流式传输 HTML 嵌入式散景图

Streaming an in HTML embedded bokeh plot

我正在尝试使用 autoload_server 函数将流式散景图嵌入到 HTML 文件中:

from bokeh.client import push_session
from bokeh.embed import autoload_server
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, curdoc

data = dict(x=[], y=[])
source = ColumnDataSource(data)

plot = figure()
plot.circle(source=source, x='x', y='y')

counter = -1

def update_data():
    global xDate, yWind, counter
    counter += 1
    xDate = counter
    yWind = counter
    new_data_wind = dict(x=[xDate], y=[yWind])
    source.stream(new_data_wind, 300)

curdoc().add_root(plot)
curdoc().add_periodic_callback(update_data, 300)

session = push_session(curdoc())
script = autoload_server(plot, session_id=session.id)
print(script)

我基本上通过使用以下方式启动散景服务器:"bokeh serve" 然后 运行 代码并将给定的脚本插入到 HTML 文件中。

一开始不会显示plot,但是在bokeh serve命令中加上--allow-websocket-origin=localhost:63342后,页面会显示plot grid,但是没有数据显示。

有人知道为什么数据流功能似乎不起作用,或者我可以更改什么以使嵌入式绘图流数据吗?

非常感谢任何进一步的输入,因为我还没有在 Internet 上找到一些信息。

编辑 我已经找到了我的问题的解决方案,如果有人遇到类似的问题,我会把它留在这里:

代码片段:

session.loop_until_closed()

需要添加到上面示例的末尾,因此会话会循环,最终情节会在浏览器中更新。

我会 post 我的回答如上所示,所以这不会再显示为未回答的问题:

代码片段:

session.loop_until_closed()

需要添加到上面示例的末尾,因此会话会循环,最终情节会在浏览器中更新。