提供在网页中嵌入Bokeh独立和服务器内容的功能。
autoload_static
返回JavaScript代码和可用于嵌入Bokeh图的脚本标记。
绘图的数据直接存储在返回的JavaScript代码中。
model (Model or Document) --
resources (Resources) --
script_path (str) --
要保存在的JavaScript代码 script_path 和A <script> 标记以加载它
script_path
<script>
(js, tag)
ValueError --
components
返回HTML组件以嵌入Bokeh图。绘图的数据直接存储在返回的HTML中。
示例可以在examples/embed/embed中找到_多个.py
返回的组件假定BokehJS资源是 已加载 . 嵌入它们的html模板需要包括以下脚本标记。widgets和tables资源只有在组件使用widgets和tables时才是必需的。
<script src="https://cdn.bokeh.org/bokeh/release/bokeh-x.y.z.min.js"></script> <script src="https://cdn.bokeh.org/bokeh/release/bokeh-widgets-x.y.z.min.js"></script> <script src="https://cdn.bokeh.org/bokeh/release/bokeh-tables-x.y.z.min.js"></script>
请注意,在Jupyter笔记本中,不可能在同一笔记本单元中使用组件和显示。
models (Model|list|dict|tuple) -- 单个模型、模型的列表/元组或键和模型的字典。
wrap_script (boolean, optional) -- 如果为True,则返回的javascript被包装在脚本标记中。(默认值:True)
wrap_plot_info (boolean, optional) --
如果为True,则返回 <div> 串。否则,返回可用于构建您自己的div的dict。(默认值:True)
<div>
如果为False,则返回的字典包含以下信息:
{ 'modelid': 'The model ID, used with Document.get_model_by_id', 'elementid': 'The css identifier the BokehJS will look for to target the plot', 'docid': 'Used by Bokeh to find the doc embedded in the returned script', }
theme (Theme, optional) -- 创建组件时应用指定的主题。如果没有,或者没有指定,并且提供的模型构成了一个文档的完整根集,则将该文档的主题应用于组件。否则应用默认主题。
UTF-8编码 [(脚本,div[s])] 或 [(raw_script, plot_info[s])]
实际案例
使用默认包装参数值:
components(plot) # => (script, plot_div) components((plot1, plot2)) # => (script, (plot1_div, plot2_div)) components({"Plot 1": plot1, "Plot 2": plot2}) # => (script, {"Plot 1": plot1_div, "Plot 2": plot2_div})
包装参数设置为 False :
False
components(plot, wrap_script=False, wrap_plot_info=False) # => (javascript, plot_dict) components((plot1, plot2), wrap_script=False, wrap_plot_info=False) # => (javascript, (plot1_dict, plot2_dict)) components({"Plot 1": plot1, "Plot 2": plot2}, wrap_script=False, wrap_plot_info=False) # => (javascript, {"Plot 1": plot1_dict, "Plot 2": plot2_dict})
file_html
返回嵌入Bokeh模型或文档对象的HTML文档。
绘图的数据直接存储在返回的HTML中,支持独立定制JS/CSS资源和定制jinja2模板。
models (Model or Document or seq[Model]) -- 一个或多个对象渲染典型的模型或文档
resources (Resources or tuple(JSResources or None, CSSResources or None)) -- Bokeh JS&CSS资产的资源配置。
title (str, optional) -- HTML文档的标题 <title> 标记或无。(默认值:无)如果没有,则尝试从给定的打印对象自动查找文档标题。
<title>
template (Template, optional) -- HTML文档模板(默认:文件)Jinja2模板,请参见bokeh.core.templates公司.FILE以获取所需的模板参数
template_variables (dict, optional) -- 要在Jinja2模板中使用的变量。如果使用css,则后面的脚本将被改写
theme (Theme, optional) -- 将指定的主题应用于所创建的html。如果 None ,或未指定,并且函数传递给文档或文档的完整根集,则应用该文档的主题。否则应用默认主题。
None
suppress_callback_warning (bool, optional) -- 通常,从包含Python回调的Bokeh文档生成独立的HTML将导致一个警告,指出回调无法正常工作。但是,此设置可以被抑制(默认情况下,此值为False)
UTF-8编码HTML
json_item
返回可用于嵌入独立Bokeh内容的JSON块。
model (Model) -- 要嵌入的Bokeh对象
target (string, optional) -- 要嵌入模型的div id。如果没有,则必须在JavaScript调用中提供目标id。
类似JSON
此函数返回可由BokehJS函数使用的JSON块 Bokeh.embed.embed_item . 例如,一个烧瓶端点 /plot 可能返回以下内容以将Bokeh图嵌入到id为的div中 “我的阴谋” :
Bokeh.embed.embed_item
/plot
@app.route('/plot') def plot(): p = make_plot('petal_width', 'petal_length') return json.dumps(json_item(p, "myplot"))
通过调用JSON并调用web页面来检索 Bokeh.embed.embed_item :
<script> fetch('/plot') .then(function(response) { return response.json(); }) .then(function(item) { Bokeh.embed.embed_item(item); }) </script>
或者,如果更方便地直接在页面源代码中提供目标div id,那也是可能的。如果 target_id 在调用此函数时省略:
return json.dumps(json_item(p))
然后传递给 embed_item 使用:
embed_item
Bokeh.embed.embed_item(item, "myplot");
server_document
返回嵌入Bokeh服务器内容的脚本标记。
使用这些方法嵌入的Bokeh应用程序不会设置浏览器窗口标题。
url (str, optional) -- Bokeh服务器上Bokeh应用程序的URL(默认值:“default”),如果 "default" 默认URL http://localhost:5006/ 将被使用。
"default"
http://localhost:5006/
relative_urls (bool, optional) -- 是否对资源使用相对URL。如果 True 为bokehjsjavascript和CSS等资源生成的链接将是相对链接。通常应设置为 False ,但必须设置为 True 在只有相对URL才能工作的情况下。E、 g.在某些配置下运行反向代理后的Bokeh时
True
resources -- 指定需要与文档一起加载哪些资源的字符串。如果 default 然后将加载默认的JS/cssbokeh文件。如果没有,则不会加载任何资源文件。如果您希望通过其他方式(例如从缓存服务器)服务这些资源文件,这将非常有用。但是,请注意,您将单独加载的资源文件与服务器的版本相同,否则渲染可能无法正常工作。
default
A <script> 将从Bokeh服务器嵌入内容的标记。
server_session
返回一个脚本标记,该标记嵌入Bokeh服务器上特定现有会话的内容。
此函数通常只用于从以前使用 bokeh.client 应用程序编程接口。
bokeh.client
注解
通常,对于不同或多个页面加载,您不希望保存或重用此函数的输出。
model (Model or None, optional) -- 从会话中渲染的对象,或无。(默认值:无)如果没有,将呈现整个文档。
session_id (str) -- 服务器会话ID
A <script> 将从Bokeh服务器嵌入内容的标记。。重复使用警告通常是一个坏主意 session_id 每次页面加载。这很可能会造成可伸缩性和安全性问题,并会导致“共享Google doc”行为,这可能是不需要的。
session_id