📜  Bokeh-嵌入图和应用程序

📅  最后修改于: 2020-11-09 05:16:52             🧑  作者: Mango


可以将独立文档以及Bokeh应用程序形式的绘图和数据嵌入HTML文档中。

独立文档是散景图或不受散景服务器支持的文档。这种情节中的交互纯粹是自定义JS的形式,而不是纯Python回调。

也可以嵌入Bokeh服务器支持的Bokeh图和文档。此类文档包含在服务器上运行的Python回调。

对于独立文档,可以通过file_html()函数获取表示Bokeh图的原始HTML代码。

from bokeh.plotting import figure
from bokeh.resources import CDN
from bokeh.embed import file_html
fig = figure()
fig.line([1,2,3,4,5], [3,4,5,2,3])
string = file_html(plot, CDN, "my plot")

file_html()函数的返回值可以另存为HTML文件,也可以用于通过Flask应用中的URL路由进行呈现。

对于独立文档,可以通过json_item()函数获取其JSON表示形式。

from bokeh.plotting import figure
from bokeh.embed import file_html
import json
fig = figure()
fig.line([1,2,3,4,5], [3,4,5,2,3])
item_text = json.dumps(json_item(fig, "myplot"))

网页上的Bokeh.embed.embed_item函数可以使用此输出-

item = JSON.parse(item_text);
Bokeh.embed.embed_item(item);

还可以嵌入Bokeh Server上的Bokeh应用程序,以便在每次页面加载时创建一个新的会话和文档,以便加载特定的现有会话。这可以通过server_document()函数来完成。它接受指向Bokeh服务器应用程序的URL,并返回一个脚本,该脚本将在每次执行该脚本时嵌入来自该服务器的新会话。

server_document()函数接受URL参数。如果将其设置为“默认”,则将使用默认URL http:// localhost:5006 /。

from bokeh.embed import server_document
script = server_document("http://localhost:5006/sliders")

server_document()函数返回脚本标签,如下所示: