如何将Bokeh图形导出为SVG或PDF?

29 投票
4 回答
18779 浏览
提问于 2025-04-18 08:29

有没有办法把Bokeh中的单个图形输出成pdf或svg格式的图片?我觉得我可能漏掉了什么明显的东西,但我查了在线帮助页面,也看过bokeh.objects的API,还是没找到相关的信息...

4 个回答

0

现在是2022年了,但直接把图片导出为PDF的功能还没有。不过,有一种替代的方法也能达到同样的效果。

首先,正如其他回答提到的,把后端设置为'svg'。plot.output_backend = "svg",然后把图片保存为svg文件。不要保存为html文件,因为这样可能会在实际图片周围多出一些空白。接着,你可以使用任何在线的svg转pdf工具,把svg文件转换成pdf格式。

0

看起来因为bokeh使用的是html5画布作为后台,所以它会把内容写到静态的html页面上。你可以随时把这些html文件导出成pdf格式。

2

与此同时……在我们获得原生支持之前,你可以使用phantom.js将HTML输出转换成PDF文件。我们在示例测试目录中使用它,将生成的HTML图表转换成PNG图片,但你也可以得到PDF格式的图片:

更多信息可以在这里找到:

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")

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

撰写回答