我需要导出我用Bokeh创建的图形和绘图的图片。
通常我这样做:
output_file("test.html")
然而,我想将那个图表复制到Excel工作表中。 虽然不需要再进行交互,但那会很出色。 我要如何将图表导出为图片?使用代码,而非点击“预览/保存”。
我需要导出我用Bokeh创建的图形和绘图的图片。
通常我这样做:
output_file("test.html")
然而,我想将那个图表复制到Excel工作表中。 虽然不需要再进行交互,但那会很出色。 我要如何将图表导出为图片?使用代码,而非点击“预览/保存”。
从 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")
有一些可选的依赖需要安装。你可以在用户指南的导出图表部分找到更多信息。
或者,如果您愿意使用JavaScript。例如,如果您想同时保存许多画布(每个画布元素都有一个图),则可以使用JavaScript方法canvas.toDataUrl()
将画布转换为png格式的base64。当您获取所有图像后,可以随心所欲地处理它们。这些图像具有96dpi,无法更改,因此,如果您需要更高的分辨率,则必须在转换之前更新绘图的所有元素的大小:字体、轴、绘图大小...
如果您使用此方法,则不需要在Python环境中安装selenium
和phantomjs
依赖项。
此外,请注意,如果您使用export_png
并且导出的绘图尺寸更大,则轴和字体不会成比例增加。