15

バックボーン.jsでは、ビューのレンダリング関数がアタッチされていないhtmlを生成し、後でdomにアタッチできます。

現在、svgを追加するには、HTMLに既存のターゲットが必要です。次に、data / enterパターンを使用して、要素をsvgに挿入します。domにアタッチせずにd3.jsでsvgを生成する方法はありますか?

var svg = d3.select("#target").append('svg')
    .attr("viewBox","0 0 100 100"); 

svg.selectAll("circle")
    .data(data)
    .enter().append("circle")
        .attr("r", 10)
        .style("fill", "black");

あるいは、何かを追加するためのアタッチされていないdom要素をd3に提供することは可能ですか?このようなもの?D3.jsのドキュメントは、selectがノードを受け入れることができることを示唆していますが、以下も私には機能しません

var svg = d3.select(this.$el).append('svg')  // Uncaught TypeError: Object [object Object] has no method 'appendChild' 
    .attr("viewBox","0 0 100 100");     

svg.selectAll("circle")
    .data([1,2,3])
    .enter().append("circle")
        .attr("r", 10)
        .style("fill", "black");
4

1 に答える 1

12

私はこの投稿で答えを見つけましたSVGはバックボーンビューとして適切にレンダリングされません

d3.select(this.el) 

トリックを行います!

于 2012-06-13T23:09:47.863 に答える