从Bokeh导出图形为svg或pdf格式?

29

我是否能够从Bokeh中输出单独的pdf或svg图片? 我感觉可能会漏掉一些明显的东西,但是我已经查过在线帮助页面并浏览了bokeh.objects API,没有找到任何内容...


计划提供支持。请参见 https://github.com/bokeh/bokeh/issues/538#issuecomment-157931426 和 https://groups.google.com/a/continuum.io/d/msg/bokeh/9lRQsnr-Dok/hMZQ28ZAS-QJ - koppor
可以使用SVG导出并将其转换为PDF来从Bokeh创建PDF。所有这些都是使用Python完成的。要查看完整示例,请查看此[SO-Post](https://stackoverflow.com/questions/66045107/how-to-save-a-bokeh-plot-as-pdf/66045108#66045108)。 - mosc9575
4个回答

8

目前无法保存PDF文件,但自Bokeh 0.12.6以来,现在可以直接从Python代码中导出PNG和SVG。

导出PNG的方法如下:

export_png(plot, filename="plot.png")

导出SVG的操作如下:

plot.output_backend = "svg"
export_svgs(plot, filename="plot.svg")

有一些可选的依赖项需要安装。 您可以在用户指南的导出图表部分中找到更多信息。


2

好的,现在正在调查中...如果我得到一个可行的解决方案,我会更新这个。 - groundlar
1
这个可以用,但它只使用页面的截图:我正在寻找一些允许我将其保存为可扩展格式的东西。我想我应该在问题中指明这一点。 - groundlar
是的,这还不是完整的解决方案,但我们正在讨论一些可能的解决方案来解决这个问题。 - Damian Avila
1
第一个链接已经失效。 - Guillochon
这已经不再必要,请查看关于export_pngexport_svgs的新答案。 - bigreddot

0

看起来,由于bokeh使用html5画布作为后端,它将会把内容写入静态html页面。你随时可以导出html到pdf。


0

所以,现在是2022年,没有直接支持将图像导出为pdf的方法。 不过,有一种替代方法可以实现同样的效果。

首先,就像其他答案中提到的那样,将后端设置为 'svg'。 plot.output_backend = "svg" 然后将图像保存为svg文件。不要将其保存为html文件,因为这可能会导致实际图像周围出现额外的空间。 然后使用任何在线svg转pdf工具来获得svg的pdf等效版本。


1
不需要使用在线转换器。Python中也存在SVG到PDF转换器。要查看完整的示例,请查看此问题 - mosc9575

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接