第一步 7:显示和导出#

之前的步骤指南 中,你创建、定制和组合了可视化。

在本节中,你将使用各种方法来显示和导出你的可视化。

创建独立的 HTML 文件#

到目前为止,所有示例都使用了 show() 函数将你的可视化保存到 HTML 文件中。此 HTML 文件包含显示你的图表所需的所有信息。

要定制 Bokeh 为你的可视化创建的文件,请导入并调用 output_file() 函数。output_file() 接受各种与文件相关的参数。例如

  • filename: HTML 文件的文件名

  • title: 你文档的标题(用于 HTML 的 <title> 标签)

如果你没有使用 output_file() 函数来定义自定义文件名,Bokeh 将默认使用当前运行的 Python 脚本的文件名作为 HTML 输出的文件名。如果脚本文件名不可用(例如,在 Jupyter 笔记本中),则 Bokeh 将生成一个随机文件名。

当你调用 show() 函数时,Bokeh 会创建 HTML 文件。此函数还会自动打开一个 Web 浏览器以显示 HTML 文件。

如果你希望 Bokeh 只生成文件而不将其在 Web 浏览器中打开,请改用 save() 函数。

你需要导入 save()output_file() 函数才能使用,就像你对 show() 所做的那样。

from bokeh.plotting import figure, output_file, save

# prepare some data
x = [1, 2, 3, 4, 5]
y = [4, 5, 5, 7, 2]

# set output to static HTML file
output_file(filename="custom_filename.html", title="Static HTML file")

# create a new plot with a specific size
p = figure(sizing_mode="stretch_width", max_width=500, height=250)

# add a scatter renderer
p.scatter(x, y, fill_color="red", size=15)

# save the results to a file
save(p)

另见

有关在网上嵌入 Bokeh 可视化的更多信息,请参阅用户指南中的 网页

注意

默认情况下,Bokeh 生成的 HTML 文件包含一个标准版本的 BokehJS,该版本会从 Bokeh 的服务器自动下载。使用 mode 参数与函数 output_file() 一起使用以更改此行为。有关更多信息,请参阅参考指南中的 output_file()Resources

在 Jupyter 笔记本中显示#

如果你使用 Jupyter 笔记本,请在代码中调用 Bokeh 的 output_notebook() 函数。然后,使用 show() 函数直接在你的笔记本中显示你的可视化

Screenshot of a Bokeh plot in a Jupyter notebook

另见

有关使用 Jupyter 笔记本的更多信息,请参阅用户指南中的 Jupyter

直接与由 MyBinder 在线托管的 实时教程笔记本 进行交互。

导出 PNG 文件#

要导出 PNG 或 SVG 文件,你可能需要安装额外的依赖项。

为了创建 PNG 和 SVG 文件,Bokeh 使用 Selenium。Selenium 允许 Bokeh 在没有图形用户界面的浏览器中运行。Bokeh 使用此浏览器来渲染 PNG 或 SVG 文件。为了使这能够正常工作,Selenium 需要能够访问 Firefox 浏览器(通过 geckodriver 包)或 Chrome/Chromium 浏览器(通过 chromedriver 包)。

使用此命令在 conda 环境中安装 Selenium 和 geckodriver 以及 Firefox

conda install selenium geckodriver firefox -c conda-forge

有关安装所需包的更多选项,请参阅 附加依赖项

安装完需求后,可以使用 export_png() 函数将你的图表导出为 PNG 文件

from bokeh.io import export_png
from bokeh.plotting import figure

# prepare some data
x = [1, 2, 3, 4, 5]
y = [4, 5, 5, 7, 2]

# create a new plot with fixed dimensions
p = figure(width=350, height=250)

# add a scatter renderer
p.scatter(x, y, fill_color="red", size=15)

# save the results to a file
export_png(p, filename="plot.png")

另见

有关如何导出 PNG 和 SVG 文件的信息,请参阅用户指南中的 PNG 和 SVG 导出