在bokeh中嵌入散景应用程序

时间:2015-04-29 16:41:12

标签: python flask applet bokeh

我正在拼命地将一个正在运行的散景小程序嵌入到烧瓶中,并且找不到合适的方法来执行此操作。我查看了所有示例,但是找不到包含更新数据能力的示例(最好的示例:sliders_applet)。

如果我没弄错的话,我确实需要散景服务器才能更改数据(使用滑块等)。以这种方式启动applet是有效的,例如:

bokeh-server --script sliders_app.py

但我找不到合适的,或者至少是一种将sliders_app嵌入烧瓶的工作方式。由于应该可以使用多个小程序,所以在散景服务器启动时指定一个小程序似乎并不干净。

我很乐意感谢任何帮助 - 散景看起来对我来说是一个很棒的工具。

1 个答案:

答案 0 :(得分:10)

另一个答案没有描述如何嵌入Bokeh服务器应用程序(它使用components嵌入独立的Bokeh文档)。

首先,您可以在https://demo.bokeh.org/

上看到许多实时示例

对于嵌入应用程序,有两种常用选项:

后者通常使用如下:

script = autoload_server(model=None,
                         app_path="/apps/slider",
                         url="https://demo.bokehplots.com")

这将返回一个类似下面的<script>标记,您可以将其放入烧瓶HTML响应中,无论您希望应用出现在哪里:

<script
    src="https://demo.bokehplots.com/apps/slider/autoload.js?bokeh-autoload-element=c5c9bdb5-40e8-46a2-9bf0-40a9d396ce97"
    id="c5c9bdb5-40e8-46a2-9bf0-40a9d396ce97"
    data-bokeh-model-id=""
    data-bokeh-doc-id=""
></script>

最后,需要注意的是,默认情况下,Bokeh服务器会选择相当保守的网络配置。您需要启动Bokeh服务器,并将--allow-websocket-origin命令行选项设置为您将散景应用程序嵌入到的任何主机。