23

我需要导出使用 Bokeh 创建的图形和绘图的图片。

通常我会

output_file("test.html")

但是,我想将该图复制到 Excel 工作表中。它不再必须是交互式的,尽管那会很棒。如何将图表导出为图片?使用代码,而不是点击“预览/保存”。

4

2 回答 2

15

从 Bokeh0.12.6开始,现在可以直接从 Python 代码导出 PNG 和 SVG。

导出 PNG 看起来像这样

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

导出 SVG 看起来像这样

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

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

于 2017-06-14T16:23:52.203 回答
0

或者,如果您愿意使用 JavaScript。而且,例如,如果您想同时保存许多画布(每个画布元素都有一个绘图),您可以使用 JavaScript 方法canvas.toDataUrl()将画布转换为 base64 格式的 png。当您获得所有图像时,您可以对它们做任何您想做的事情。这些图像有 96dpi 并且无法更改,因此如果您想要更高的分辨率,您还必须在转换之前更新绘图的所有元素的大小:字体、轴、绘图大小......

如果你使用这种方法,你不需要在你的 python 环境中安装selenium和依赖。phantomjs

另外,请注意,如果您使用export_png并导出更大尺寸的图,则轴和字体不会按比例变大

于 2019-09-26T11:31:37.697 回答