Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用d3.js在客户端将svg折线图存储为图像_Svg_D3.js_Blob - Fatal编程技术网

使用d3.js在客户端将svg折线图存储为图像

使用d3.js在客户端将svg折线图存储为图像,svg,d3.js,blob,Svg,D3.js,Blob,这是代码,但它根本不显示复制的图像。有什么问题? 这是来自的代码。我的折线图有鼠标悬停和鼠标点击动作。我希望在客户端将图表转换为图像,而无需服务器交互。此链接是最合适的方式,但无法为我的图表复制此链接。您的连接端口有问题……下面是一个有问题的代码的示例,它可以正常工作 d3.select("#save").on("click", function(){ var html = d3.select("svg") .attr("version", 1.1) .att

这是代码,但它根本不显示复制的图像。有什么问题?
这是来自的代码。我的折线图有鼠标悬停和鼠标点击动作。我希望在客户端将图表转换为图像,而无需服务器交互。此链接是最合适的方式,但无法为我的图表复制此链接。

您的连接端口有问题……下面是一个有问题的代码的示例,它可以正常工作

d3.select("#save").on("click", function(){
  var html = d3.select("svg")
        .attr("version", 1.1)
        .attr("xmlns", "http://www.w3.org/2000/svg")
        .node().parentNode.innerHTML;

  //console.log(html);
  var imgsrc = 'data:image/svg+xml;base64,'+ btoa(html);
  var img = '<img src="'+imgsrc+'">'; 
  d3.select("#svgdataurl").html(img);

});

我也包括了你给出的代码,但我显示了一个小缩略图,但没有显示控制台的图像。logimg当我点击它时,我得到一个url n。我以一种非常糟糕的方式获得了图形的黑白图像,并且出现了一个错误,因为此页面包含以下错误:第1190列第1行的错误:a上的href的命名空间前缀xlink未定义以下是第一个错误之前的页面呈现。您能创建一个显示代码的小提琴吗?我假设您没有基本的工作,但您的问题似乎更进一步……我的代码访问一个从数据库检索数据的php文件。所以我不能创建一个fiddle。您能显示使用名称空间前缀xlink的代码段吗?
<div id="svg"></div>
<button id="save">Save as Image</button>
<div id="svgdataurl"></div>