2017-10-17 61 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腳本每當我想要,並且一旦腳本啓動並運行並生成數據,我的散景圖就會更新,但還沒有實現。希望這對一些人有幫助,並對我的代碼提出批評,所以不要害羞。