bokeh.io#
- export_png(obj: UIElement | Document, *, filename: PathLike | None = None, width: int | None = None, height: int | None = None, scale_factor: float = 1, webdriver: WebDriver | None = None, timeout: int = 5, state: State | None = None) str [source]#
将
UIElement
对象或文档导出为 PNG。如果未给出文件名,则从脚本名称推断(例如,
/foo/myplot.py
将创建/foo/myplot.png
)。- 参数:
obj (UIElement or Document) – 要导出的布局(Row/Column)、绘图或小部件对象或文档。
filename (PathLike, e.g. str, Path, optional) – 要保存文档的文件名(默认:None)。如果为 None,则从文件名推断。
width (int) – 导出的布局 obj 的所需宽度,仅当它是 Plot 实例时。否则,宽度关键字参数将被忽略。
height (int) – 导出的布局 obj 的所需高度,仅当它是 Plot 实例时。否则,高度关键字参数将被忽略。
scale_factor (float, optional) – 用于按比例缩放输出 PNG 的系数,在保持元素相对比例的同时提供更高分辨率。
webdriver (selenium.webdriver) – 用于导出图像的 selenium webdriver 实例。
timeout (int) – Bokeh 初始化的最大等待时间(以秒为单位)(默认:5)(在 1.1.1 中添加)。
state (State, optional) –
State
对象。如果为 None,则使用当前默认隐式状态。(默认:None)。
- 返回值:
保存静态文件的文件名。
- 返回类型:
filename (str)
如果您想直接访问 Image 对象,而不是将文件保存到磁盘,请使用更底层的
get_screenshot_as_png()
函数。警告
响应式 sizing_modes 可能生成具有意外大小和纵横比的布局。建议使用默认的
fixed
大小模式。
- export_svg(obj: UIElement | Document, *, filename: PathLike | None = None, width: int | None = None, height: int | None = None, webdriver: WebDriver | None = None, timeout: int = 5, state: State | None = None) list[str] [source]#
将布局导出为 SVG 文件,或将文档导出为一组 SVG 文件。
如果未提供文件名,则从脚本名称推断(例如,
/foo/myplot.py
将创建/foo/myplot.svg
)。- 参数:
obj (UIElement object) – 要显示的布局(Row/Column)、绘图或小部件对象
filename (PathLike, e.g. str, Path, optional) – 要保存文档的文件名(默认:None)。如果为 None,则从文件名推断。
width (int) – 导出的布局 obj 的所需宽度,仅当它是 Plot 实例时。否则,宽度关键字参数将被忽略。
height (int) – 导出的布局 obj 的所需高度,仅当它是 Plot 实例时。否则,高度关键字参数将被忽略。
webdriver (selenium.webdriver) – 用于导出图像的 selenium webdriver 实例。
timeout (int) – Bokeh 初始化的最大等待时间(以秒为单位)(默认值:5)
state (State, optional) –
State
对象。如果为 None,则使用当前默认隐式状态。(默认:None)。
- 返回值:
保存 SVG 文件的文件名列表。
- 返回类型:
警告
响应式 sizing_modes 可能生成具有意外大小和纵横比的布局。建议使用默认的
fixed
大小模式。
- export_svgs(obj: UIElement | Document, *, filename: str | None = None, width: int | None = None, height: int | None = None, webdriver: WebDriver | None = None, timeout: int = 5, state: State | None = None) list[str] [source]#
导出布局内的支持 SVG 的绘图。每个绘图都将生成一个独立的 SVG 文件。
如果未提供文件名,则从脚本名称推断(例如,
/foo/myplot.py
将创建/foo/myplot.svg
)。- 参数:
obj (UIElement object) – 要显示的布局(Row/Column)、绘图或小部件对象
filename (str, optional) – 要将文档保存到的文件名(默认值:无)如果为 None,则从文件名推断。
width (int) – 导出的布局 obj 的所需宽度,仅当它是 Plot 实例时。否则,宽度关键字参数将被忽略。
height (int) – 导出的布局 obj 的所需高度,仅当它是 Plot 实例时。否则,高度关键字参数将被忽略。
webdriver (selenium.webdriver) – 用于导出图像的 selenium webdriver 实例。
timeout (int) – Bokeh 初始化的最大等待时间(以秒为单位)(默认:5)(在 1.1.1 中添加)。
state (State, optional) –
State
对象。如果为 None,则使用当前默认隐式状态。(默认:None)。
- 返回值:
保存 SVG 文件的文件名列表。
- 返回类型:
警告
响应式 sizing_modes 可能生成具有意外大小和纵横比的布局。建议使用默认的
fixed
大小模式。
- install_notebook_hook(notebook_type: Literal['jupyter', 'zeppelin'], load: Load, show_doc: ShowDoc, show_app: ShowApp, overwrite: bool = False) None [source]#
安装新的笔记本显示挂钩。
Bokeh 附带对 Jupyter 笔记本的内置支持。但是,不同的社区使用着其他类型的笔记本。此函数提供了一种机制,使其他项目能够指示 Bokeh 如何在其他笔记本中显示内容。
此函数主要供希望将 Bokeh 集成到新笔记本类型的开发人员使用。
- 参数:
notebook_type (str) –
笔记本类型的名称,例如
'Jupyter'
或'Zeppelin'
如果该名称已安装,则将引发
RuntimeError
,除非overwrite=True
load (callable) –
用于在笔记本类型中加载 BokehJS 的函数。将使用以下参数调用该函数
load( resources, # A Resources object for how to load BokehJS verbose, # Whether to display verbose loading banner hide_banner, # Whether to hide the output banner entirely load_timeout # Time after which to report a load fail error )
show_doc (callable) –
用于在笔记本类型中显示 Bokeh 独立文档的函数。将使用以下参数调用该函数
show_doc( obj, # the Bokeh object to display state, # current bokeh.io "state" notebook_handle # whether a notebook handle was requested )
如果笔记本平台能够支持对绘图的进行就地更新,则此函数可能会返回一个不透明的笔记本句柄,可用于此目的。该句柄将由
show()
返回,并且可以根据需要由安装了挂钩的库中的其他函数使用,以更新绘图等。show_app (callable) –
用于在笔记本类型中显示 Bokeh 应用程序的函数。此函数将使用以下参数调用
show_app( app, # the Bokeh Application to display state, # current bokeh.io "state" notebook_url, # URL to the current active notebook page **kw # any backend-specific keywords passed as-is )
overwrite (bool, optional) – 是否允许用新定义覆盖现有的钩子 (默认值:False)
- 返回值:
无
- 引发:
RuntimeError – 如果
notebook_type
已经安装并且overwrite=False
- output_file(filename: PathLike, title: str = 'Bokeh Plot', mode: ResourcesMode | None = None, root_dir: PathLike | None = None) None [source]#
将默认输出状态配置为在调用
show()
时生成保存到文件的输出。不更改来自
curdoc()
的当前Document
。文件和笔记本输出可以同时处于活动状态,例如,这不会清除output_notebook()
的效果。- 参数:
filename (str) – 用于保存 HTML 文档的文件名
title (str, optional) – HTML 文档的标题 (默认值:“Bokeh Plot”)
mode (str, optional) – 如何包含 BokehJS (默认值:
'cdn'
) 之一:'inline'
,'cdn'
,'relative(-dev)'
或'absolute(-dev)'
。有关更多详细信息,请参阅bokeh.resources.Resources
。root_dir (str, optional) – 用于“绝对”资源的根目录。 (默认值:无) 此值对于其他资源类型(例如
INLINE
或CDN
)被忽略。
- 返回值:
无
注意
通常,这应该在交互式会话开始或脚本顶部调用。
- output_notebook(resources: Resources | None = None, verbose: bool = False, hide_banner: bool = False, load_timeout: int = 5000, notebook_type: NotebookType = 'jupyter') None [source]#
将默认输出状态配置为在调用
show()
时在笔记本单元格中生成输出。请注意,show()
可以在单个单元格中多次调用以在输出单元格中显示多个对象。对象将按顺序显示。- 参数:
- 返回值:
无
注意
通常,这应该在交互式会话开始或脚本顶部调用。
- push_notebook(*, document: Document | None = None, state: State | None = None, handle: CommsHandle | None = None) None [source]#
使用新数据或属性值更新 Jupyter 笔记本输出单元格中的 Bokeh 绘图。
在笔记本内部工作时,
show
函数可以传递参数notebook_handle=True
,这将导致它返回一个句柄对象,该对象可用于稍后更新 Bokeh 输出。当调用push_notebook
时,自上次调用push_notebook
或原始show
调用以来任何属性更新(例如绘图标题或数据源值等)都会应用于先前渲染的 Jupyter 输出单元格中的 Bokeh 输出。可以在 GitHub 存储库中的 examples/output/jupyter/push_notebook 目录中找到几个示例笔记本。
- 参数:
document (Document, optional) – 要从中推送的
Document
。如果为无,则使用curdoc()
。 (默认值:无)state (State, optional) – 一个
State
对象。如果为无,则使用当前默认状态(由output_file()
等设置)。 (默认值:无)
- 返回值:
无
示例
典型的用法通常类似于此
from bokeh.plotting import figure from bokeh.io import output_notebook, push_notebook, show output_notebook() plot = figure() plot.circle([1,2,3], [4,6,5]) handle = show(plot, notebook_handle=True) # Update the plot title in the earlier cell plot.title.text = "New Title" push_notebook(handle=handle)
- save(obj: UIElement | Sequence[UIElement], filename: str | PathLike[str] | None = None, resources: Resources | Literal['inline', 'cdn', 'server', 'relative', 'absolute'] | Literal['server-dev', 'relative-dev', 'absolute-dev'] | None = None, title: str | None = None, template: Template | str | None = None, state: State | None = None) str [source]#
使用当前文档的数据保存一个 HTML 文件。
如果未提供
filename
、resources
或title
,则将回退到默认输出状态(或明确提供的State
对象)。 如果文件名未给出且未通过输出状态提供,则从脚本名称推导出文件名(例如/foo/myplot.py
将创建/foo/myplot.html
)- 参数:
obj (UIElement object) – 要显示的布局(Row/Column)、绘图或小部件对象
filename (PathLike, e.g. str, Path, optional) – 要保存文档的文件名(默认值:无)如果为无,则使用默认状态配置。
resources (Resources or ResourcesMode, optional) – 要使用的 Resources 配置(默认值:无)如果为无,则使用默认状态配置(如果存在)。 否则使用
resources.INLINE
。title (str, optional) – HTML 文档的标题(默认值:无)如果为无,则使用默认状态标题值(如果存在)。 否则使用“Bokeh Plot”
template (Template, str, optional) – HTML 文档模板(默认值:FILE)一个 Jinja2 模板,请参阅 bokeh.core.templates.FILE 以了解所需的模板参数
state (State, optional) –
State
对象。如果为 None,则使用当前默认隐式状态。(默认:None)。
- 返回值:
保存 HTML 文件的文件名。
- 返回类型:
- show(obj: UIElement | Application | ModifyDoc, browser: str | None = None, new: BrowserTarget = 'tab', notebook_handle: bool = False, notebook_url: str | ProxyUrlFunc = 'localhost:8888', **kwargs: Any) CommsHandle | None [source]#
立即显示 Bokeh 对象或应用程序。
show()
可在一个 Jupyter notebook 单元格中多次调用以显示多个对象。 对象按顺序显示。- 参数:
obj (UIElement or Application or callable) –
要显示的 Bokeh 对象。
Bokeh 图表、小部件、布局(即行和列)可以传递给
show
以显示它们。 如果已调用output_file()
,则输出将保存到 HTML 文件,该文件也会在新浏览器窗口或选项卡中打开。 如果已在 Jupyter notebook 中调用output_notebook()
,则输出将内联显示在关联的 notebook 输出单元格中。在 Jupyter notebook 中,还可以传递 Bokeh 应用程序或可调用对象。 可调用对象将使用
FunctionHandler
转换为应用程序。 应用程序将在关联的 notebook 输出单元格中运行并内联显示。browser (str, optional) –
指定用于打开输出文件的浏览器(默认值:无)
对于文件输出,browser 参数允许指定在哪个浏览器中显示,例如“safari”、“firefox”、“opera”、“windows-default”。并非所有平台都支持此选项,有关更多信息,请参阅标准库的文档webbrowser 模块。
new (str, 可选) –
指定用于输出文件的浏览器模式(默认: “tab”)。
对于文件输出,打开或打开显示当前输出文件的浏览器窗口。如果 new 为 'tab',则打开一个新标签页。如果 new 为 'window',则打开一个新窗口。
notebook_handle (bool, 可选) –
是否创建笔记本交互句柄(默认: False)。
对于笔记本输出,切换是否返回可与
push_notebook
一起使用的句柄。请注意,笔记本句柄仅适用于独立绘图、布局等。它们不适用于在笔记本中显示应用程序。notebook_url (URL, 可选) –
Jupyter 笔记本页面的位置(默认: “localhost:8888”)。
在显示 Bokeh 应用程序时,必须显式配置 Bokeh 服务器以允许来自不同 URL 的连接。此参数默认使用标准笔记本主机和端口。如果您在其他位置运行,则需要提供此值才能使应用程序正确显示。如果没有在 URL 中提供协议,例如它是 “localhost:8888” 的形式,则将使用 “http”。
notebook_url
也可以是一个函数,它接收一个用于绑定服务器端口的 int。如果提供端口,则该函数需要生成到 bokeh 服务器的完整公共 URL。如果传递了 None,则该函数应生成源 URL。如果环境变量 JUPYTER_BOKEH_EXTERNAL_URL 设置为 JupyterHub 的外部 URL,则 notebook_url 将被覆盖为一个可调用对象,这使 Bokeh 能够在不指定此参数的情况下遍历 JupyterHub 代理。
某些参数仅在某些输出模式处于活动状态时才有用。
当
output_file()
处于活动状态时,browser
和new
参数才适用。当
output_notebook()
处于活动状态,并且正在显示非应用程序对象时,notebook_handle
参数才适用。它仅在 Jupyter 笔记本中受支持,并且当它为 True 时会为其他笔记本类型引发异常。当在 Jupyter 笔记本中显示 Bokeh 应用程序时,
notebook_url
参数才适用。任何其他关键字参数都将传递到
Server
,用于显示 Bokeh 应用程序(在版本 1.1 中添加)。
- 返回值:
在 Jupyter 笔记本中(使用
output_notebook()
启用)并且notebook_handle=True
时,返回一个可由push_notebook
使用的句柄,否则返回 None。
bokeh.io.doc#
bokeh.io.export#
- export_png(obj: UIElement | Document, *, filename: PathLike | None = None, width: int | None = None, height: int | None = None, scale_factor: float = 1, webdriver: WebDriver | None = None, timeout: int = 5, state: State | None = None) str [source]#
将
UIElement
对象或文档导出为 PNG。如果未给出文件名,则从脚本名称推断(例如,
/foo/myplot.py
将创建/foo/myplot.png
)。- 参数:
obj (UIElement or Document) – 要导出的布局(Row/Column)、绘图或小部件对象或文档。
filename (PathLike, e.g. str, Path, optional) – 要保存文档的文件名(默认:None)。如果为 None,则从文件名推断。
width (int) – 导出的布局 obj 的所需宽度,仅当它是 Plot 实例时。否则,宽度关键字参数将被忽略。
height (int) – 导出的布局 obj 的所需高度,仅当它是 Plot 实例时。否则,高度关键字参数将被忽略。
scale_factor (float, optional) – 用于按比例缩放输出 PNG 的系数,在保持元素相对比例的同时提供更高分辨率。
webdriver (selenium.webdriver) – 用于导出图像的 selenium webdriver 实例。
timeout (int) – Bokeh 初始化的最大等待时间(以秒为单位)(默认:5)(在 1.1.1 中添加)。
state (State, optional) –
State
对象。如果为 None,则使用当前默认隐式状态。(默认:None)。
- 返回值:
保存静态文件的文件名。
- 返回类型:
filename (str)
如果您想直接访问 Image 对象,而不是将文件保存到磁盘,请使用更底层的
get_screenshot_as_png()
函数。警告
响应式 sizing_modes 可能生成具有意外大小和纵横比的布局。建议使用默认的
fixed
大小模式。
- export_svg(obj: UIElement | Document, *, filename: PathLike | None = None, width: int | None = None, height: int | None = None, webdriver: WebDriver | None = None, timeout: int = 5, state: State | None = None) list[str] [source]#
将布局导出为 SVG 文件,或将文档导出为一组 SVG 文件。
如果未提供文件名,则从脚本名称推断(例如,
/foo/myplot.py
将创建/foo/myplot.svg
)。- 参数:
obj (UIElement object) – 要显示的布局(Row/Column)、绘图或小部件对象
filename (PathLike, e.g. str, Path, optional) – 要保存文档的文件名(默认:None)。如果为 None,则从文件名推断。
width (int) – 导出的布局 obj 的所需宽度,仅当它是 Plot 实例时。否则,宽度关键字参数将被忽略。
height (int) – 导出的布局 obj 的所需高度,仅当它是 Plot 实例时。否则,高度关键字参数将被忽略。
webdriver (selenium.webdriver) – 用于导出图像的 selenium webdriver 实例。
timeout (int) – Bokeh 初始化的最大等待时间(以秒为单位)(默认值:5)
state (State, optional) –
State
对象。如果为 None,则使用当前默认隐式状态。(默认:None)。
- 返回值:
保存 SVG 文件的文件名列表。
- 返回类型:
警告
响应式 sizing_modes 可能生成具有意外大小和纵横比的布局。建议使用默认的
fixed
大小模式。
-
export_svgs(obj: UIElement | Document, *, filename: str | None = None, width: int | None = None, height: int | None = None, webdriver: WebDriver | None = None, timeout: int = 5, state: State | None = None) list[str] /foo/myplot.py 将创建
/foo/myplot.svg
)。- 参数:
obj (UIElement object) – 要显示的布局(Row/Column)、绘图或小部件对象
filename (str, optional) – 要将文档保存到的文件名(默认值:无)如果为 None,则从文件名推断。
width (int) – 导出的布局 obj 的所需宽度,仅当它是 Plot 实例时。否则,宽度关键字参数将被忽略。
height (int) – 导出的布局 obj 的所需高度,仅当它是 Plot 实例时。否则,高度关键字参数将被忽略。
webdriver (selenium.webdriver) – 用于导出图像的 selenium webdriver 实例。
timeout (int) – Bokeh 初始化的最大等待时间(以秒为单位)(默认:5)(在 1.1.1 中添加)。
state (State, optional) –
State
对象。如果为 None,则使用当前默认隐式状态。(默认:None)。
- 返回值:
保存 SVG 文件的文件名列表。
- 返回类型:
警告
响应式 sizing_modes 可能生成具有意外大小和纵横比的布局。建议使用默认的
fixed
大小模式。
- get_layout_html(obj: UIElement | Document, *, resources: Resources = Resources(mode='inline'), width: int | None = None, height: int | None = None, theme: Theme | None = None) str [source]#
- get_screenshot_as_png(obj: UIElement | Document, *, driver: WebDriver | None = None, timeout: int = 5, resources: Resources = Resources(mode='inline'), width: int | None = None, height: int | None = None, scale_factor: float = 1, state: State | None = None) Image.Image [source]#
获取
UIElement
对象的屏幕截图。- 参数:
obj (UIElement or Document) – 要导出的布局(Row/Column)、绘图或小部件对象或文档。
driver (selenium.webdriver) – 用于导出图像的 Selenium WebDriver 实例。
timeout (int) – 初始化等待的最大时间。它将被用作加载 Bokeh 的超时,然后在等待布局渲染时使用。
scale_factor (float, optional) – 用于按比例缩放输出 PNG 的系数,在保持元素相对比例的同时提供更高分辨率。
state (State, optional) –
State
对象。如果为 None,则使用当前默认隐式状态。(默认:None)。
- 返回值:
从 PNG 加载的枕头图像。
- 返回类型:
image (PIL.Image.Image)
警告
响应式 sizing_modes 可能生成具有意外大小和纵横比的布局。建议使用默认的
fixed
大小模式。
bokeh.io.notebook#
- destroy_server(server_id: ID) None [source]#
给定在 Jupyter Notebook 中删除或替换的 div 的 UUID ID,销毁相应的服务器会话并停止它。
- get_comms(target_name: str) Comm [source]#
为特定目标创建一个 Jupyter Comms 对象,可用于更新 Jupyter Notebook 中的 Bokeh 文档。
- 参数:
target_name (str) – Comms 对象应连接到的目标名称
- 返回
Jupyter Comms
- install_notebook_hook(notebook_type: Literal['jupyter', 'zeppelin'], load: Load, show_doc: ShowDoc, show_app: ShowApp, overwrite: bool = False) None [source]#
安装新的笔记本显示挂钩。
Bokeh 附带对 Jupyter 笔记本的内置支持。但是,不同的社区使用着其他类型的笔记本。此函数提供了一种机制,使其他项目能够指示 Bokeh 如何在其他笔记本中显示内容。
此函数主要供希望将 Bokeh 集成到新笔记本类型的开发人员使用。
- 参数:
notebook_type (str) –
笔记本类型的名称,例如
'Jupyter'
或'Zeppelin'
如果该名称已安装,则将引发
RuntimeError
,除非overwrite=True
load (callable) –
用于在笔记本类型中加载 BokehJS 的函数。将使用以下参数调用该函数
load( resources, # A Resources object for how to load BokehJS verbose, # Whether to display verbose loading banner hide_banner, # Whether to hide the output banner entirely load_timeout # Time after which to report a load fail error )
show_doc (callable) –
用于在笔记本类型中显示 Bokeh 独立文档的函数。将使用以下参数调用该函数
show_doc( obj, # the Bokeh object to display state, # current bokeh.io "state" notebook_handle # whether a notebook handle was requested )
如果笔记本平台能够支持对绘图的进行就地更新,则此函数可能会返回一个不透明的笔记本句柄,可用于此目的。该句柄将由
show()
返回,并且可以根据需要由安装了挂钩的库中的其他函数使用,以更新绘图等。show_app (callable) –
用于在笔记本类型中显示 Bokeh 应用程序的函数。此函数将使用以下参数调用
show_app( app, # the Bokeh Application to display state, # current bokeh.io "state" notebook_url, # URL to the current active notebook page **kw # any backend-specific keywords passed as-is )
overwrite (bool, optional) – 是否允许用新定义覆盖现有的钩子 (默认值:False)
- 返回值:
无
- 引发:
RuntimeError – 如果
notebook_type
已经安装并且overwrite=False
- load_notebook(resources: Resources | None = None, verbose: bool = False, hide_banner: bool = False, load_timeout: int = 5000) None [source]#
准备 IPython Notebook 以显示 Bokeh 图表。
- 参数:
警告
清除包含已发布 BokehJS 资源 HTML 代码的输出单元格可能会导致 Bokeh CSS 样式被移除。
- 返回值:
无
- publish_display_data(data: dict[str, Any], metadata: dict[Any, Any] | None = None, *, transient: dict[str, Any] | None = None, **kwargs: Any) None [source]#
- push_notebook(*, document: Document | None = None, state: State | None = None, handle: CommsHandle | None = None) None [source]#
使用新数据或属性值更新 Jupyter 笔记本输出单元格中的 Bokeh 绘图。
在笔记本内部工作时,
show
函数可以传递参数notebook_handle=True
,这将导致它返回一个句柄对象,该对象可用于稍后更新 Bokeh 输出。当调用push_notebook
时,自上次调用push_notebook
或原始show
调用以来任何属性更新(例如绘图标题或数据源值等)都会应用于先前渲染的 Jupyter 输出单元格中的 Bokeh 输出。可以在 GitHub 存储库中的 examples/output/jupyter/push_notebook 目录中找到几个示例笔记本。
- 参数:
document (Document, optional) – 要从中推送的
Document
。如果为无,则使用curdoc()
。 (默认值:无)state (State, optional) – 一个
State
对象。如果为无,则使用当前默认状态(由output_file()
等设置)。 (默认值:无)
- 返回值:
无
示例
典型的用法通常类似于此
from bokeh.plotting import figure from bokeh.io import output_notebook, push_notebook, show output_notebook() plot = figure() plot.circle([1,2,3], [4,6,5]) handle = show(plot, notebook_handle=True) # Update the plot title in the earlier cell plot.title.text = "New Title" push_notebook(handle=handle)
- run_notebook_hook(notebook_type: Literal['jupyter', 'zeppelin'], action: Literal['load', 'doc', 'app'], *args: Any, **kwargs: Any) Any [source]#
使用提供的参数运行已安装的笔记本钩子。
所有其他参数和关键字参数都按原样传递给钩子操作。
- 返回值:
钩子操作的结果,按原样
- 引发:
RuntimeError – 如果钩子或特定操作未安装
- show_app(app: Application, state: State, notebook_url: str | ProxyUrlFunc = 'localhost:8888', port: int = 0, **kw: Any) None [source]#
将 Bokeh 服务器应用程序嵌入 Jupyter 笔记本的输出单元格中。
- 参数:
app (Application or callable) – 要在 Jupyter 笔记本中内联嵌入的 Bokeh 应用程序。
state (State) – ** 未使用 **
notebook_url (str or callable) –
运行嵌入式应用程序的笔记本服务器的 URL。
如果
notebook_url
是字符串,则解析字符串的值以构建来源和完整的服务器 URL。如果 notebook_url 是可调用对象,则它必须接受一个参数,该参数将是服务器端口或 None。如果传递了端口,则可调用对象必须生成服务器 URL,否则如果传递了 None,则它必须为服务器生成来源 URL。
如果环境变量 JUPYTER_BOKEH_EXTERNAL_URL 设置为 JupyterHub 的外部 URL,则 notebook_url 将被覆盖为一个可调用对象,这使 Bokeh 能够在不指定此参数的情况下遍历 JupyterHub 代理。
port (int) –
嵌入式服务器将监听的端口。
默认情况下,端口为 0,这会导致服务器监听随机动态端口。
任何其他关键字参数都将传递给
Server
(在 1.1 版中添加)- 返回值:
无
- show_doc(obj: Model, state: State) None [source]#
- show_doc(obj: Model, state: State, notebook_handle: CommsHandle) CommsHandle
bokeh.io.output#
- output_file(filename: PathLike, title: str = 'Bokeh Plot', mode: ResourcesMode | None = None, root_dir: PathLike | None = None) None [source]#
配置默认输出状态,以便在调用
show()
时生成保存到文件的输出。不更改来自
curdoc()
的当前Document
。文件和笔记本输出可以同时处于活动状态,例如,这不会清除output_notebook()
的效果。- 参数:
filename (str) – 用于保存 HTML 文档的文件名
title (str, optional) – HTML 文档的标题 (默认值:“Bokeh Plot”)
mode (str, optional) – 如何包含 BokehJS (默认值:
'cdn'
) 之一:'inline'
,'cdn'
,'relative(-dev)'
或'absolute(-dev)'
。有关更多详细信息,请参阅bokeh.resources.Resources
。root_dir (str, optional) – 用于“绝对”资源的根目录。 (默认值:无) 此值对于其他资源类型(例如
INLINE
或CDN
)被忽略。
- 返回值:
无
注意
通常,这应该在交互式会话开始或脚本顶部调用。
- output_notebook(resources: Resources | None = None, verbose: bool = False, hide_banner: bool = False, load_timeout: int = 5000, notebook_type: NotebookType = 'jupyter') None [source]#
将默认输出状态配置为在调用
show()
时在笔记本单元格中生成输出。请注意,show()
可以在单个单元格中多次调用以在输出单元格中显示多个对象。对象将按顺序显示。- 参数:
- 返回值:
无
注意
通常,这应该在交互式会话开始或脚本顶部调用。
bokeh.io.saving#
- save(obj: UIElement | Sequence[UIElement], filename: str | PathLike[str] | None = None, resources: Resources | Literal['inline', 'cdn', 'server', 'relative', 'absolute'] | Literal['server-dev', 'relative-dev', 'absolute-dev'] | None = None, title: str | None = None, template: Template | str | None = None, state: State | None = None) str [source]#
使用当前文档的数据保存一个 HTML 文件。
如果未提供
filename
、resources
或title
,则将回退到默认输出状态(或明确提供的State
对象)。 如果文件名未给出且未通过输出状态提供,则从脚本名称推导出文件名(例如/foo/myplot.py
将创建/foo/myplot.html
)- 参数:
obj (UIElement object) – 要显示的布局(Row/Column)、绘图或小部件对象
filename (PathLike, e.g. str, Path, optional) – 要保存文档的文件名(默认值:无)如果为无,则使用默认状态配置。
resources (Resources or ResourcesMode, optional) – 要使用的 Resources 配置(默认值:无)如果为无,则使用默认状态配置(如果存在)。 否则使用
resources.INLINE
。title (str, optional) – HTML 文档的标题(默认值:无)如果为无,则使用默认状态标题值(如果存在)。 否则使用“Bokeh Plot”
template (Template, str, optional) – HTML 文档模板(默认值:FILE)一个 Jinja2 模板,请参阅 bokeh.core.templates.FILE 以了解所需的模板参数
state (State, optional) –
State
对象。如果为 None,则使用当前默认隐式状态。(默认:None)。
- 返回值:
保存 HTML 文件的文件名。
- 返回类型:
bokeh.io.showing#
- show(obj: UIElement | Application | ModifyDoc, browser: str | None = None, new: BrowserTarget = 'tab', notebook_handle: bool = False, notebook_url: str | ProxyUrlFunc = 'localhost:8888', **kwargs: Any) CommsHandle | None [source]#
立即显示 Bokeh 对象或应用程序。
show()
可以在一个 Jupyter Notebook 单元格中多次调用来显示多个对象。对象按顺序显示。- 参数:
obj (UIElement or Application or callable) –
要显示的 Bokeh 对象。
Bokeh 图表、小部件、布局(即行和列)可以传递给
show
以显示它们。 如果已调用output_file()
,则输出将保存到 HTML 文件,该文件也会在新浏览器窗口或选项卡中打开。 如果已在 Jupyter notebook 中调用output_notebook()
,则输出将内联显示在关联的 notebook 输出单元格中。在 Jupyter notebook 中,还可以传递 Bokeh 应用程序或可调用对象。 可调用对象将使用
FunctionHandler
转换为应用程序。 应用程序将在关联的 notebook 输出单元格中运行并内联显示。browser (str, optional) –
指定用于打开输出文件的浏览器(默认值:无)
对于文件输出,browser 参数允许指定在哪个浏览器中显示,例如“safari”、“firefox”、“opera”、“windows-default”。并非所有平台都支持此选项,有关更多信息,请参阅标准库的文档webbrowser 模块。
new (str, 可选) –
指定用于输出文件的浏览器模式(默认: “tab”)。
对于文件输出,打开或打开显示当前输出文件的浏览器窗口。如果 new 为 'tab',则打开一个新标签页。如果 new 为 'window',则打开一个新窗口。
notebook_handle (bool, 可选) –
是否创建笔记本交互句柄(默认: False)。
对于笔记本输出,切换是否返回可与
push_notebook
一起使用的句柄。请注意,笔记本句柄仅适用于独立绘图、布局等。它们不适用于在笔记本中显示应用程序。notebook_url (URL, 可选) –
Jupyter 笔记本页面的位置(默认: “localhost:8888”)。
在显示 Bokeh 应用程序时,必须显式配置 Bokeh 服务器以允许来自不同 URL 的连接。此参数默认使用标准笔记本主机和端口。如果您在其他位置运行,则需要提供此值才能使应用程序正确显示。如果没有在 URL 中提供协议,例如它是 “localhost:8888” 的形式,则将使用 “http”。
notebook_url
也可以是一个函数,它接收一个用于绑定服务器端口的 int。如果提供端口,则该函数需要生成到 bokeh 服务器的完整公共 URL。如果传递了 None,则该函数应生成源 URL。如果环境变量 JUPYTER_BOKEH_EXTERNAL_URL 设置为 JupyterHub 的外部 URL,则 notebook_url 将被覆盖为一个可调用对象,这使 Bokeh 能够在不指定此参数的情况下遍历 JupyterHub 代理。
某些参数仅在某些输出模式处于活动状态时才有用。
当
output_file()
处于活动状态时,browser
和new
参数才适用。当
output_notebook()
处于活动状态,并且正在显示非应用程序对象时,notebook_handle
参数才适用。它仅在 Jupyter 笔记本中受支持,并且当它为 True 时会为其他笔记本类型引发异常。当在 Jupyter 笔记本中显示 Bokeh 应用程序时,
notebook_url
参数才适用。任何其他关键字参数都将传递到
Server
,用于显示 Bokeh 应用程序(在版本 1.1 中添加)。
- 返回值:
在 Jupyter 笔记本中(使用
output_notebook()
启用)并且notebook_handle=True
时,返回一个可由push_notebook
使用的句柄,否则返回 None。
bokeh.io.state#
封装了对 Bokeh 绘图 API 有用的隐式状态。
注意
虽然 State
对象也可以显式操作,但它们在使用 output_file()
等来自 bokeh.io 的输出函数时会自动配置。因此,通常不需要操作 State
对象。
生成 Bokeh 图表的输出需要协调多项内容
Document
将可能在多个图表之间共享的 Bokeh 模型(例如范围或数据源对象)组合成一个通用结构。
资源
控制客户端库 BokehJS 的 JavaScript 和 CSS 如何包含和使用在生成的输出中。
可以手动处理这些内容的配置,在 examples/models
目录中可以找到一些这样的示例。在开发复杂的应用程序时,可能需要或希望在该级别进行操作。但是,对于一般使用来说,这很快就会变得繁琐。此模块提供了一个 State
类,它封装了这些对象并确保它们在许多常见的使用场景中得到正确配置。
- class State[source]#
管理与控制 Bokeh 输出相关的状态。
- output_file(filename: str | PathLike[str], title: str = 'Bokeh Plot', mode: Literal['inline', 'cdn', 'server', 'relative', 'absolute'] | Literal['server-dev', 'relative-dev', 'absolute-dev'] | None = None, root_dir: str | PathLike[str] | None = None) None [source]#
将输出配置到一个独立的 HTML 文件中。
调用
output_file
不会清除对output_notebook()
等的任何其他调用的影响。它添加了一个额外的输出目标(发布到 HTML 文件)。任何其他活动的输出模式都会继续处于活动状态。- 参数:
警告
指定的输出文件将在每次保存时被覆盖,例如,每次调用
show()
或save()
时。
- output_notebook(notebook_type: NotebookType = 'jupyter') None [source]#
在笔记本单元格中生成输出。
调用
output_notebook
不会清除对output_file()
等其他函数的任何调用的影响。它添加了一个额外的输出目标(发布到笔记本输出单元格)。任何其他处于活动状态的输出模式将继续处于活动状态。- 返回值:
无