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[源代码]#
将
UIElement对象或文档导出为PNG。如果未提供文件名,则从脚本名称派生(例如
/foo/myplot.py将创建/foo/myplot.png)- Parameters:
filename (PathLike, 例如 str, Path, 可选) – 保存文档的文件名(默认值:None) 如果为None,则从文件名推断。
width (int) – 仅当它是 Plot 实例时,导出的布局对象的期望宽度。否则,width 参数将被忽略。
height (int) – 仅当它是 Plot 实例时,导出的布局对象的期望高度。否则,height 参数将被忽略。
scale_factor (float, 可选) – 用于缩放输出PNG的因子,提供更高的分辨率,同时保持元素的相对比例。
webdriver (selenium.webdriver) – 用于导出图像的selenium webdriver实例。
timeout (int) – 等待Bokeh初始化的最大时间(以秒为单位)(默认值:5)(在1.1.1版本中添加)。
state (State, 可选) – 一个
State对象。如果为 None,则使用当前默认的隐式状态。(默认值: None)。
- Returns:
静态文件保存的文件名。
- Return type:
文件名 (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)- Parameters:
obj (UIElement 对象) – 要显示的布局(行/列)、绘图或小部件对象
filename (PathLike, 例如 str, Path, 可选) – 保存文档的文件名(默认值:None) 如果为None,则从文件名推断。
width (int) – 仅当它是 Plot 实例时,导出的布局对象的期望宽度。否则,width 参数将被忽略。
height (int) – 仅当它是 Plot 实例时,导出的布局对象的期望高度。否则,height 参数将被忽略。
webdriver (selenium.webdriver) – 用于导出图像的selenium webdriver实例。
timeout (int) – 等待Bokeh初始化的最大时间(以秒为单位)(默认值:5)
state (State, 可选) – 一个
State对象。如果为 None,则使用当前默认的隐式状态。(默认值: None)。
- Returns:
保存SVG文件的文件名列表。
- Return type:
警告
响应式 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][源代码]#
导出布局中包含SVG支持的图表。每个图表将生成一个单独的SVG文件。
如果未给出文件名,则从脚本名称派生 (例如
/foo/myplot.py将创建/foo/myplot.svg)- Parameters:
obj (UIElement 对象) – 要显示的布局(行/列)、绘图或小部件对象
filename (str, optional) – 保存文档的文件名(默认值:None) 如果为None,则从文件名推断。
width (int) – 仅当它是 Plot 实例时,导出的布局对象的期望宽度。否则,width 参数将被忽略。
height (int) – 仅当它是 Plot 实例时,导出的布局对象的期望高度。否则,height 参数将被忽略。
webdriver (selenium.webdriver) – 用于导出图像的selenium webdriver实例。
timeout (int) – 等待Bokeh初始化的最大时间(以秒为单位)(默认值:5)(在1.1.1版本中添加)。
state (State, 可选) – 一个
State对象。如果为 None,则使用当前默认的隐式状态。(默认值: None)。
- Returns:
保存SVG文件的文件名列表。
- Return type:
警告
响应式 sizing_modes 可能会生成具有意外大小和宽高比的布局。建议使用默认的
fixed大小模式。
- install_notebook_hook(notebook_type: Literal['jupyter', 'zeppelin'], load: Load, show_doc: ShowDoc, show_app: ShowApp, overwrite: bool = False) None[源代码]#
安装一个新的笔记本显示钩子。
Bokeh 内置支持 Jupyter 笔记本。然而,不同的社区使用其他类型的笔记本。此函数为其他项目提供了一种机制,以指示 Bokeh 如何在其他笔记本中显示内容。
此函数主要供希望将Bokeh与新笔记本类型集成的开发人员使用。
- Parameters:
notebook_type (str) –
笔记本类型的名称,例如
'Jupyter'或'Zeppelin'如果该名称之前已经安装过,将会引发
RuntimeError,除非overwrite=Trueload (callable) –
一个用于在笔记本类型中加载BokehJS的函数。该函数将使用以下参数调用:
load( resources, # 一个Resources对象,用于指定如何加载BokehJS verbose, # 是否显示详细的加载横幅 hide_banner, # 是否完全隐藏输出横幅 load_timeout # 超时后报告加载失败错误的时间 )
show_doc (callable) –
一个用于在笔记本类型中显示Bokeh独立文档的函数。此函数将使用以下参数调用:
show_doc( obj, # 要显示的Bokeh对象 state, # 当前的bokeh.io "状态" notebook_handle # 是否请求了笔记本句柄 )
如果笔记本平台能够支持图表的就地更新,则此函数可能会返回一个不透明的笔记本句柄,用于此目的。该句柄将由
show()返回,并可以由安装钩子的库中的其他函数适当地用于更新图表等。show_app (callable) –
一个用于在笔记本中显示Bokeh应用程序的函数。该函数将使用以下参数调用:
show_app( app, # 要显示的Bokeh应用程序 state, # 当前的bokeh.io "state" notebook_url, # 当前活动笔记本页面的URL **kw # 任何后端特定的关键字,按原样传递 )
overwrite (bool, optional) – 是否允许新的定义覆盖现有的钩子(默认值:False)
- Returns:
无
- Raises:
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()的效果。- Parameters:
filename (str) – 用于保存HTML文档的文件名
标题 (str, 可选) – HTML文档的标题(默认:“Bokeh Plot”)
mode (str, optional) – 如何包含 BokehJS(默认:
'cdn') 可选值之一:'inline','cdn','relative(-dev)'或'absolute(-dev)'。更多详情请参见bokeh.resources.Resources。root_dir (str, optional) – 用于“绝对”资源的根目录。(默认值:None) 对于其他资源类型,例如
INLINE或CDN,此值将被忽略。
- Returns:
无
注意
通常,这应该在交互式会话开始时或脚本的顶部调用。
- output_notebook(resources: 资源 | None = None, verbose: bool = False, hide_banner: bool = False, load_timeout: int = 5000, notebook_type: NotebookType = 'jupyter') None[source]#
配置默认输出状态,以便在调用
show()时在笔记本单元格中生成输出。请注意,可以在单个单元格中多次调用show()以在输出单元格中显示多个对象。对象将按顺序显示。- Parameters:
- Returns:
无
注意
通常,这应该在交互式会话开始时或脚本的顶部调用。
- 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目录中可以找到几个示例笔记本。
- Parameters:
document (Document, 可选) – 一个
Document用于推送。如果为 None,则使用curdoc()。(默认值:None)state (State, 可选) – 一个
State对象。如果为 None,则使用当前的默认状态(由output_file()等设置)。(默认值: None)
- Returns:
无
示例
典型用法通常类似于这样:
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: 资源 | 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)- Parameters:
obj (UIElement 对象) – 要显示的布局(行/列)、绘图或小部件对象
filename (PathLike, 例如 str, Path, 可选) – 保存文档的文件名(默认值:None) 如果为None,则使用默认的状态配置。
资源 (Resources 或 ResourcesMode, 可选) – 要使用的资源配置(默认值:无) 如果为无,则使用默认的状态配置(如果有的话)。 否则使用
resources.INLINE。标题 (str, 可选) – HTML文档的标题(默认值:None) 如果为None,则使用默认的状态标题值(如果有的话)。 否则,使用“Bokeh Plot”
template (Template, str, optional) – HTML文档模板(默认:FILE) 一个Jinja2模板,有关所需的模板参数,请参见bokeh.core.templates.FILE
state (State, 可选) – 一个
State对象。如果为 None,则使用当前默认的隐式状态。(默认值: None)。
- Returns:
HTML文件保存的文件名。
- Return type:
- 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 单元格中多次调用,以显示多个对象。对象按顺序显示。- Parameters:
obj (UIElement 或 Application 或 callable) –
要显示的Bokeh对象。
Bokeh图表、小部件、布局(即行和列)可以传递给
show以显示它们。如果已经调用了output_file(),输出将保存到一个HTML文件中,并在新的浏览器窗口或标签页中打开。如果在Jupyter笔记本中调用了output_notebook(),输出将内联显示在相关的笔记本输出单元格中。在Jupyter笔记本中,也可以传递Bokeh应用程序或可调用对象。可调用对象将使用
FunctionHandler转换为应用程序。应用程序将运行并内联显示在相关的笔记本输出单元格中。browser (str, optional) –
指定用于打开输出文件的浏览器(默认:无)
对于文件输出,browser 参数允许指定在哪个浏览器中显示,例如“safari”、“firefox”、“opera”、“windows-default”。并非所有平台都支持此选项,请参阅标准库 webbrowser 模块的文档以获取更多信息。
new (str, optional) –
指定用于输出文件的浏览器模式(默认:“tab”)
对于文件输出,打开或提升显示当前输出文件的浏览器窗口。如果 new 是 'tab',则打开一个新标签页。如果 new 是 'window',则打开一个新窗口。
notebook_handle (bool, optional) –
是否创建笔记本交互句柄(默认值:False)
对于笔记本输出,切换是否返回可以与
push_notebook一起使用的句柄。请注意,笔记本句柄仅适用于独立图表、布局等。在笔记本中显示应用程序时不适用。notebook_url (URL, 可选) –
Jupyter笔记本页面的位置(默认:“localhost:8888”)
在显示Bokeh应用程序时,必须明确配置Bokeh服务器以允许来自不同URL的连接。此参数默认为标准笔记本主机和端口。如果您在不同的位置运行,您需要提供此值以使应用程序正确显示。如果URL中没有提供协议,例如“localhost:8888”,则将使用“http”。
notebook_url也可以是一个接受一个整数作为绑定服务器端口的函数。如果提供了端口,该函数需要生成完整的Bokeh服务器公共URL。如果传递了None,则该函数应生成原始URL。如果环境变量 JUPYTER_BOKEH_EXTERNAL_URL 设置为JupyterHub的外部URL,则 notebook_url 将被一个可调用对象覆盖,该对象使Bokeh能够在不指定此参数的情况下遍历JupyterHub代理。
某些参数仅在特定输出模式激活时有用:
browser和new参数仅在output_file()激活时适用。notebook_handle参数仅在output_notebook()激活且显示非应用程序对象时适用。它仅在 Jupyter notebook 中受支持,当它为 True 时,在其他类型的 notebook 中会引发异常。notebook_url参数仅在 Jupyter 笔记本中显示 Bokeh 应用程序时适用。任何额外的关键字参数在显示Bokeh应用程序时都会传递给
Server(在1.1版本中添加)
- Returns:
当在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[源代码]#
将
UIElement对象或文档导出为PNG。如果未提供文件名,则从脚本名称派生(例如
/foo/myplot.py将创建/foo/myplot.png)- Parameters:
filename (PathLike, 例如 str, Path, 可选) – 保存文档的文件名(默认值:None) 如果为None,则从文件名推断。
width (int) – 仅当它是 Plot 实例时,导出的布局对象的期望宽度。否则,width 参数将被忽略。
height (int) – 仅当它是 Plot 实例时,导出的布局对象的期望高度。否则,height 参数将被忽略。
scale_factor (float, 可选) – 用于缩放输出PNG的因子,提供更高的分辨率,同时保持元素的相对比例。
webdriver (selenium.webdriver) – 用于导出图像的selenium webdriver实例。
timeout (int) – 等待Bokeh初始化的最大时间(以秒为单位)(默认值:5)(在1.1.1版本中添加)。
state (State, 可选) – 一个
State对象。如果为 None,则使用当前默认的隐式状态。(默认值: None)。
- Returns:
静态文件保存的文件名。
- Return type:
文件名 (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)- Parameters:
obj (UIElement 对象) – 要显示的布局(行/列)、绘图或小部件对象
filename (PathLike, 例如 str, Path, 可选) – 保存文档的文件名(默认值:None) 如果为None,则从文件名推断。
width (int) – 仅当它是 Plot 实例时,导出的布局对象的期望宽度。否则,width 参数将被忽略。
height (int) – 仅当它是 Plot 实例时,导出的布局对象的期望高度。否则,height 参数将被忽略。
webdriver (selenium.webdriver) – 用于导出图像的selenium webdriver实例。
timeout (int) – 等待Bokeh初始化的最大时间(以秒为单位)(默认值:5)
state (State, 可选) – 一个
State对象。如果为 None,则使用当前默认的隐式状态。(默认值: None)。
- Returns:
保存SVG文件的文件名列表。
- Return type:
警告
响应式 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][源代码]#
导出布局中包含SVG支持的图表。每个图表将生成一个单独的SVG文件。
如果未给出文件名,则从脚本名称派生 (例如
/foo/myplot.py将创建/foo/myplot.svg)- Parameters:
obj (UIElement 对象) – 要显示的布局(行/列)、绘图或小部件对象
filename (str, optional) – 保存文档的文件名(默认值:None) 如果为None,则从文件名推断。
width (int) – 仅当它是 Plot 实例时,导出的布局对象的期望宽度。否则,width 参数将被忽略。
height (int) – 仅当它是 Plot 实例时,导出的布局对象的期望高度。否则,height 参数将被忽略。
webdriver (selenium.webdriver) – 用于导出图像的selenium webdriver实例。
timeout (int) – 等待Bokeh初始化的最大时间(以秒为单位)(默认值:5)(在1.1.1版本中添加)。
state (State, 可选) – 一个
State对象。如果为 None,则使用当前默认的隐式状态。(默认值: None)。
- Returns:
保存SVG文件的文件名列表。
- Return type:
警告
响应式 sizing_modes 可能会生成具有意外大小和宽高比的布局。建议使用默认的
fixed大小模式。
- get_layout_html(obj: UIElement | Document, *, resources: 资源 = Resources(mode='inline'), width: int | None = None, height: int | None = None, theme: 主题 | None = None) str[源代码]#
- get_screenshot_as_png(obj: UIElement | Document, *, driver: WebDriver | None = None, timeout: int = 5, resources: 资源 = Resources(mode='inline'), width: int | None = None, height: int | None = None, scale_factor: float = 1, state: State | None = None) Image.Image[source]#
获取
UIElement对象的截图。- Parameters:
- Returns:
从PNG加载的枕头图像。
- Return type:
图像 (PIL.Image.Image)
警告
响应式 sizing_modes 可能会生成具有意外大小和宽高比的布局。建议使用默认的
fixed大小模式。
bokeh.io.notebook#
- get_comms(target_name: str) Comm[source]#
为特定目标创建一个Jupyter通信对象,该对象可用于在Jupyter笔记本中更新Bokeh文档。
- Parameters:
target_name (str) – Comms对象应连接的目标名称
- Returns
Jupyter 通信
- install_notebook_hook(notebook_type: Literal['jupyter', 'zeppelin'], load: Load, show_doc: ShowDoc, show_app: ShowApp, overwrite: bool = False) None[源代码]#
安装一个新的笔记本显示钩子。
Bokeh 内置支持 Jupyter 笔记本。然而,不同的社区使用其他类型的笔记本。此函数为其他项目提供了一种机制,以指示 Bokeh 如何在其他笔记本中显示内容。
此函数主要供希望将Bokeh与新笔记本类型集成的开发人员使用。
- Parameters:
notebook_type (str) –
笔记本类型的名称,例如
'Jupyter'或'Zeppelin'如果该名称之前已经安装过,将会引发
RuntimeError,除非overwrite=Trueload (callable) –
一个用于在笔记本类型中加载BokehJS的函数。该函数将使用以下参数调用:
load( resources, # 一个Resources对象,用于指定如何加载BokehJS verbose, # 是否显示详细的加载横幅 hide_banner, # 是否完全隐藏输出横幅 load_timeout # 超时后报告加载失败错误的时间 )
show_doc (callable) –
一个用于在笔记本类型中显示Bokeh独立文档的函数。此函数将使用以下参数调用:
show_doc( obj, # 要显示的Bokeh对象 state, # 当前的bokeh.io "状态" notebook_handle # 是否请求了笔记本句柄 )
如果笔记本平台能够支持图表的就地更新,则此函数可能会返回一个不透明的笔记本句柄,用于此目的。该句柄将由
show()返回,并可以由安装钩子的库中的其他函数适当地用于更新图表等。show_app (callable) –
一个用于在笔记本中显示Bokeh应用程序的函数。该函数将使用以下参数调用:
show_app( app, # 要显示的Bokeh应用程序 state, # 当前的bokeh.io "state" notebook_url, # 当前活动笔记本页面的URL **kw # 任何后端特定的关键字,按原样传递 )
overwrite (bool, optional) – 是否允许新的定义覆盖现有的钩子(默认值:False)
- Returns:
无
- Raises:
RuntimeError – 如果
notebook_type已经安装并且overwrite=False
- load_notebook(resources: 资源 | None = None, verbose: bool = False, hide_banner: bool = False, load_timeout: int = 5000) None[源代码]#
准备用于显示Bokeh图表的IPython笔记本。
- Parameters:
警告
清除包含已发布的BokehJS资源HTML代码的输出单元格可能会导致Bokeh CSS样式被移除。
- Returns:
无
- 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目录中可以找到几个示例笔记本。
- Parameters:
document (Document, 可选) – 一个
Document用于推送。如果为 None,则使用curdoc()。(默认值:None)state (State, 可选) – 一个
State对象。如果为 None,则使用当前的默认状态(由output_file()等设置)。(默认值: None)
- Returns:
无
示例
典型用法通常类似于这样:
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]#
使用提供的参数运行已安装的笔记本钩子。
所有其他参数和关键字参数都按原样传递给钩子操作。
- Returns:
钩子操作的结果,原样返回
- Raises:
RuntimeError – 如果钩子或特定操作未安装
- show_app(app: Application, state: State, notebook_url: str | ProxyUrlFunc = 'localhost:8888', port: int = 0, **kw: Any) None[源代码]#
在Jupyter Notebook输出单元格中嵌入Bokeh服务器应用程序。
- Parameters:
app (Application 或 可调用对象) – 一个要在 Jupyter 笔记本中内嵌的 Bokeh 应用程序。
state (State) – ** 未使用 **
notebook_url (str 或 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中添加)- Returns:
无
- show_doc(obj: Model, state: State) None[源代码]#
- 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()的效果。- Parameters:
filename (str) – 用于保存HTML文档的文件名
标题 (str, 可选) – HTML文档的标题(默认:“Bokeh Plot”)
mode (str, optional) – 如何包含 BokehJS(默认:
'cdn') 可选值之一:'inline','cdn','relative(-dev)'或'absolute(-dev)'。更多详情请参见bokeh.resources.Resources。root_dir (str, optional) – 用于“绝对”资源的根目录。(默认值:None) 对于其他资源类型,例如
INLINE或CDN,此值将被忽略。
- Returns:
无
注意
通常,这应该在交互式会话开始时或脚本的顶部调用。
- output_notebook(resources: 资源 | None = None, verbose: bool = False, hide_banner: bool = False, load_timeout: int = 5000, notebook_type: NotebookType = 'jupyter') None[source]#
配置默认输出状态,以便在调用
show()时在笔记本单元格中生成输出。请注意,可以在单个单元格中多次调用show()以在输出单元格中显示多个对象。对象将按顺序显示。- Parameters:
- Returns:
无
注意
通常,这应该在交互式会话开始时或脚本的顶部调用。
bokeh.io.saving#
- save(obj: UIElement | Sequence[UIElement], filename: str | PathLike[str] | None = None, 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)- Parameters:
obj (UIElement 对象) – 要显示的布局(行/列)、绘图或小部件对象
filename (PathLike, 例如 str, Path, 可选) – 保存文档的文件名(默认值:None) 如果为None,则使用默认的状态配置。
资源 (Resources 或 ResourcesMode, 可选) – 要使用的资源配置(默认值:无) 如果为无,则使用默认的状态配置(如果有的话)。 否则使用
resources.INLINE。标题 (str, 可选) – HTML文档的标题(默认值:None) 如果为None,则使用默认的状态标题值(如果有的话)。 否则,使用“Bokeh Plot”
template (Template, str, optional) – HTML文档模板(默认:FILE) 一个Jinja2模板,有关所需的模板参数,请参见bokeh.core.templates.FILE
state (State, 可选) – 一个
State对象。如果为 None,则使用当前默认的隐式状态。(默认值: None)。
- Returns:
HTML文件保存的文件名。
- Return type:
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 单元格中多次调用,以显示多个对象。对象按顺序显示。- Parameters:
obj (UIElement 或 Application 或 callable) –
要显示的Bokeh对象。
Bokeh图表、小部件、布局(即行和列)可以传递给
show以显示它们。如果已经调用了output_file(),输出将保存到一个HTML文件中,并在新的浏览器窗口或标签页中打开。如果在Jupyter笔记本中调用了output_notebook(),输出将内联显示在相关的笔记本输出单元格中。在Jupyter笔记本中,也可以传递Bokeh应用程序或可调用对象。可调用对象将使用
FunctionHandler转换为应用程序。应用程序将运行并内联显示在相关的笔记本输出单元格中。browser (str, optional) –
指定用于打开输出文件的浏览器(默认:无)
对于文件输出,browser 参数允许指定在哪个浏览器中显示,例如“safari”、“firefox”、“opera”、“windows-default”。并非所有平台都支持此选项,请参阅标准库 webbrowser 模块的文档以获取更多信息。
new (str, optional) –
指定用于输出文件的浏览器模式(默认:“tab”)
对于文件输出,打开或提升显示当前输出文件的浏览器窗口。如果 new 是 'tab',则打开一个新标签页。如果 new 是 'window',则打开一个新窗口。
notebook_handle (bool, optional) –
是否创建笔记本交互句柄(默认值:False)
对于笔记本输出,切换是否返回可以与
push_notebook一起使用的句柄。请注意,笔记本句柄仅适用于独立图表、布局等。在笔记本中显示应用程序时不适用。notebook_url (URL, 可选) –
Jupyter笔记本页面的位置(默认:“localhost:8888”)
在显示Bokeh应用程序时,必须明确配置Bokeh服务器以允许来自不同URL的连接。此参数默认为标准笔记本主机和端口。如果您在不同的位置运行,您需要提供此值以使应用程序正确显示。如果URL中没有提供协议,例如“localhost:8888”,则将使用“http”。
notebook_url也可以是一个接受一个整数作为绑定服务器端口的函数。如果提供了端口,该函数需要生成完整的Bokeh服务器公共URL。如果传递了None,则该函数应生成原始URL。如果环境变量 JUPYTER_BOKEH_EXTERNAL_URL 设置为JupyterHub的外部URL,则 notebook_url 将被一个可调用对象覆盖,该对象使Bokeh能够在不指定此参数的情况下遍历JupyterHub代理。
某些参数仅在特定输出模式激活时有用:
browser和new参数仅在output_file()激活时适用。notebook_handle参数仅在output_notebook()激活且显示非应用程序对象时适用。它仅在 Jupyter notebook 中受支持,当它为 True 时,在其他类型的 notebook 中会引发异常。notebook_url参数仅在 Jupyter 笔记本中显示 Bokeh 应用程序时适用。任何额外的关键字参数在显示Bokeh应用程序时都会传递给
Server(在1.1版本中添加)
- Returns:
当在Jupyter笔记本中(启用了
output_notebook())并且notebook_handle=True时,返回一个可以被push_notebook使用的句柄,否则返回None。
bokeh.io.state#
封装对Bokeh绘图API有用的隐式状态。
注意
虽然可以显式操作State对象,但当使用来自bokeh.io的输出函数如output_file()时,它们会自动配置。因此,通常不需要操作State对象。
生成Bokeh图表的输出需要协调几个方面:
Document将可能在绘图之间共享的Bokeh模型(例如,范围或数据源对象)组合成一个共同的结构。
Resources控制客户端库 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文件)。任何其他活动的输出模式将继续保持活动状态。- Parameters:
警告
指定的输出文件将在每次保存时被覆盖,例如,每次调用
show()或save()时。
- output_notebook(notebook_type: NotebookType = 'jupyter') None[source]#
在笔记本单元格中生成输出。
调用
output_notebook不会清除任何其他调用(如output_file()等)的效果。它增加了一个额外的输出目的地(发布到笔记本输出单元格)。任何其他活动的输出模式将继续保持活动状态。- Returns:
无