2017-10-17 63 views
0

我想使用散景来模拟来自仿真脚本的实时数据。基本上,模拟将成为'实时'流数据的来源,我希望每次我的模拟脚本告诉它时都更新散景图。我也希望通过编程启动背景虚化的服务器,并没有要阻止的主线程所以这就是为什么我开始与独立嵌入例如:使用散景模拟图形

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

但是,我意识到,使用这些例子只是一个起点点可能有缺陷,因为一旦我启动IOloop,其下面的其他代码就不能运行,这是一个问题,因为我的所有仿真代码都需要在Bokeh服务器运行时运行。

有人能推动我如何做到这一点的正确方向?基本上,我需要发送更新到Bokeh来更新它的图形,只要模拟脚本告诉它并且需要在我的模拟代码脚本运行的同时让散景图显示/交互。我也希望保持它尽可能分开(即,自行运行模拟而不启动任何散景图或反之亦然 - 不想混淆我的原始模拟代码以使其工作)

+0

您可以使用周期性回调来运行您的散景服务器,它可以读取您的模拟代码可能产生的任何输出文件 – Seb

+0

有趣的 - 我会试一试。一旦我输出大文件,这可能实际上更适用于晚些时候。目前,模拟代码生成的所有内容都只是在内存中,而不是将对象写入文件。 – hhprogram

回答

0

只要有人好奇就发布。做了一个玩具的例子,我有一个脚本运行并产生一些“数据”。使用bokeh serve --show run.py来运行它,以便还可以运行散景服务器。

我的玩具例子: https://github.com/hhprogram/Learning_Examples/tree/master/BokehTest

这些例子是有帮助的: https://github.com/bokeh/bokeh/tree/master/examples/app/spectrogram

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

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