使用 Bokeh 进行图形模拟

Graphing Simulation with Bokeh

我想使用 Bokeh 从模拟脚本绘制实时数据图。基本上,模拟将是 'real-time' 流数据的来源,我希望散景图在我的模拟脚本每次告诉它时更新。我还想以编程方式启动 Bokeh 服务器并且不想阻塞主线程,所以这就是我从独立嵌入示例开始的原因:

https://github.com/bokeh/bokeh/blob/0.12.4/examples/howto/server_embed/standalone_embed.py

但是,我意识到使用此示例作为起点可能存在缺陷,因为一旦我启动 IOloop,它下面的其他代码就无法运行 运行,这是一个问题,因为我的所有模拟代码都需要运行ning 而 Bokeh 服务器也在 运行ning。

有人可以引导我朝着正确的方向前进吗?基本上,我需要向 Bokeh 发送更新以在模拟脚本告诉它时更新它的图形,并且需要让 bokeh 图在我的模拟代码脚本 运行ning 的同时显示/交互。我还想尽可能地将它分开(即 运行 模拟本身没有启动任何散景图,反之亦然 - 不想为了制作这个而弄乱我原来的模拟代码工作)

如果有人好奇就发帖。制作了一个玩具示例,其中我有一个脚本 运行 并生成一些 'data'。 运行 它使用 bokeh serve --show run.py 以获得散景服务器 运行ning.

我的玩具示例:

https://github.com/hhprogram/Learning_Examples/tree/master/BokehTest

这些例子很有帮助:

https://github.com/bokeh/bokeh/tree/master/examples/app/spectrogram

https://docs.bokeh.org/en/latest/docs/user_guide/server.html#updating-from-threads

理想情况下,我可以单独打开我的散景服务器应用程序,然后 运行 我的 python 脚本只要我想,一旦该脚本启动并且 运行ning 和生成数据,然后我的散景图会更新,但到目前为止还没有实现。希望这对某些人有所帮助,并欢迎对我的代码提出批评,所以不要害羞。