从Vega图表获取图表SVG

问题描述

我正在从vega 2.x迁移到5.13.0版本。我正在尝试生成图表SVG,因此可以根据需要使用。为此,我正在使用toSVG()。使用成功或捕获方法时,两者均不会触发。


      var view = new vega.View(vega.parse(chartJson),{renderer: 'none'});
      view.toSVG().then(function (svg) {
        console.log(svg)
      }).catch(function(err){
        console.log(err)
      });

解决方法

您可以执行以下操作:

Ceil

这将下载SVG。改编自不同的stackoverflow answer(适用于mime类型)和Vega test cases(适用于处理var _v = new vega.View(vega.parse(spec))... _v.toSVG() .then(svgString => { const filename = 'chart.svg'; const url = 'data:image/svg+xml,' + encodeURIComponent(svgString); const link = document.createElement('a'); link.setAttribute('href',url); link.setAttribute('target','_blank'); link.setAttribute('download',filename); link.dispatchEvent(new MouseEvent('click')); }) Promise)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...