无法使用 PyViz 示例中的面板保存散景图

Can't Save Bokeh Plot with Panel from PyViz Example

我一直在学习 pyviz.org 上的教程。特别是仪表板

如果我在这里设置示例:http://pyviz.org/tutorial/A2_Dashboard_Workflow.html

散景图中的保存图标似乎被禁用。如果我单击区域缩放、滚轮缩放或重置图标,它们将按预期运行。但是保存按钮没有任何作用。

这是故意的,可以重置,还是我这边的错误?

这是浏览器的基本限制,问题是后台的地图图块正在发出跨源请求以下载图块。浏览器认为这是一个安全问题,因此将 canvas 标记为已污染。如果您查看浏览器控制台,您会在点击保存时看到此错误消息:

Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

因此,在最新版本的 GeoViews 中,如果存在切片源,我们会自动禁用保存工具,但该网站是使用旧版本构建的。

TL;DR:这是一个浏览器安全问题,据我所知无法解决。