独立文档形式的绘图和数据以及 Bokeh 应用程序可以嵌入 HTML 文档中。独立文档是散景图或不受散景服务器支持的文档。这种情节中的交互纯粹以自定义 JS 的形式而不是纯 Python 回调的形式。也可以嵌入由 Bokeh 服务器支持的 Bokeh 图和文档。此类文档包含在服务器上运行的 Python 回调。对于独立文档,表示散景图的原始 HTML 代码由 file_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 表示可以通过 json_item()
函数获得。
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()
函数返回一个脚本标签,如下所示 -
<script
src="http://localhost:5006/sliders/autoload.js?bokeh-autoload-element=10010&bokeh-app-path=/sliders&bokeh-absolute-url=https://localhost:5006/sliders"\n id="10010">
</script>