📜  Bokeh-导出图(1)

📅  最后修改于: 2023-12-03 15:13:40.548000             🧑  作者: Mango

Bokeh-导出图介绍

Bokeh 是一个用于 Python 的交互式可视化库,它可以用于生成各种类型的图表,包括线图、散点图、柱状图等等。Bokeh 的一个重要特性是可以将其图表输出为 HTML 文件或图片文件。

在本文中,我们将重点介绍如何使用 Bokeh 将图表导出为图片文件。Bokeh 支持将图表导出为多种图片格式,包括 PNG、SVG、JPG 和 BMP。下面我们将介绍如何将 Bokeh 图表导出为 PNG、JPG 和 SVG 三种格式的文件。

导出 PNG 格式文件

Bokeh 包含了一个 export_png 函数,可以将图表导出为 PNG 格式的文件。下面是导出 PNG 文件的示例代码:

from bokeh.plotting import figure, output_file, save
from bokeh.models import ColumnDataSource
from bokeh.embed import file_html
from bokeh.resources import CDN
from bokeh.util.string import encode_utf8
from bokeh.io import export_png

# 创建一个图表
plot = figure(plot_width=400, plot_height=400)
plot.line([1, 2, 3, 4, 5], [2, 5, 4, 6, 7])

# 导出 PNG 文件
export_png(plot, filename="plot.png")

这个例子中,我们首先创建了一个简单的图表,然后使用 export_png 函数将图表导出为 PNG 格式的文件。filename 参数指定输出文件的名称和路径。

导出 JPG 文件

Bokeh 也支持将图表导出为 JPG 格式的文件。要导出 JPG 文件,我们需要使用 export_svgs 函数将图表导出为 SVG 格式的文件,然后使用图像处理库将 SVG 文件转换为 JPG 格式。下面是将 Bokeh 图表导出为 JPG 文件的示例代码:

from bokeh.plotting import figure, output_file, save
from bokeh.models import ColumnDataSource
from bokeh.embed import file_html
from bokeh.resources import CDN
from bokeh.util.string import encode_utf8
from bokeh.io import export_svgs
import cairosvg

# 创建一个图表
plot = figure(plot_width=400, plot_height=400)
plot.line([1, 2, 3, 4, 5], [2, 5, 4, 6, 7])

# 导出 SVG 文件
plot_svg = export_svgs(plot, filename="plot.svg")[0]

# 将 SVG 文件转换为 JPG 文件
cairosvg.svg2jpg(
    bytestring=plot_svg.encode("UTF-8"),
    write_to="plot.jpg"
)

这个例子中,我们首先创建了一个简单的图表,然后使用 export_svgs 函数将图表导出为 SVG 格式的文件。filename 参数指定输出文件的名称和路径。

接着,我们使用了 cairosvg 模块中的 svg2jpg 函数将 SVG 文件转换为 JPG 文件。write_to 参数指定输出文件的名称和路径。

导出 SVG 文件

Bokeh 还支持将图表导出为 SVG 格式的文件。要导出 SVG 文件,我们可以使用 export_svgs 函数。下面是将 Bokeh 图表导出为 SVG 文件的示例代码:

from bokeh.plotting import figure, output_file, save
from bokeh.models import ColumnDataSource
from bokeh.embed import file_html
from bokeh.resources import CDN
from bokeh.util.string import encode_utf8
from bokeh.io import export_svgs

# 创建一个图表
plot = figure(plot_width=400, plot_height=400)
plot.line([1, 2, 3, 4, 5], [2, 5, 4, 6, 7])

# 导出 SVG 文件
export_svgs(plot, filename="plot.svg")

这个例子中,我们首先创建了一个简单的图表,然后使用 export_svgs 函数将图表导出为 SVG 格式的文件。filename 参数指定输出文件的名称和路径。

总结

Bokeh 是一个功能强大的交互式可视化库,适用于生成各种类型的图表和可视化界面。通过使用 export_pngexport_svgs 函数,我们可以将 Bokeh 图表导出为多种格式的图片文件。这为我们在将可视化结果发布到 Web 或其他平台上时提供了很大的便利。