2016-12-12 15 views
0

D3グラフをエクスポートして画像として保存する方法の例がいくつか見つかりましたが、残念ながら誰も私のために働いていません。D3 v4グラフを画像として保存する方法

let html = self.svg 
     .attr("version", 1.1) 
     .attr("xmlns", "http://www.w3.org/2000/svg") 
     .node().parentNode.innerHTML; 

let imgsrc = 'data:image/svg+xml;base64,' + btoa(html); 
    let img = '<img src="' + imgsrc + '">'; 
    self.D3.select("#svgdataurl").html(img); 

しかし、私はこのエラーを取得する:

enter image description here

であるかについての任意のアイデアを、私は非常に単純なバージョンこのSVGに変換し、DOMに追加するとしようとしているすべての ファーストハプニング?

+2

エラーは、あなたのSVGに偽のコンテンツがあると言います。私のWAGは、あなたの '.parentNode.innerHTML'が' svg'タグの後ろにあるHTMLを吸っているということです。 – Mark

+0

こんにちは!あなたの応答のおかげで、問題は明らかでした。 SVGと同じコンテナを共有する別の要素があり、それが問題の原因となっていました。 一方、私は生成されたイメージにスタイルを保持するためにCSSクラスを使用してD3オブジェクトにスタイルを含める必要がありました。 –

答えて

0

問題は明らかでした。私はSVGと同じコンテナを共有する別の要素を持っていましたが、それが問題を引き起こしていました。一方、私は生成され、エクスポート可能なイメージにスタイルを保持するために、CSSクラスを使用してD3オブジェクトの作成にスタイルを含める必要がありました。

関連する問題