2014-05-15 3 views
0

:로드 D3 총알 차트 I는 기존의 SVG 개체에 d3.js 총알 차트로드를 시도하고있어

<span id='element'><svg class="elm_12"></svg></span> 

와의 js에서 :

var svg = d3.select(elementid) 
     .data(data) 
     .enter().append("svg") 
      .attr("class", "bullet") 
      .attr("width", width + margin.left + margin.right) 
      .attr("height", height + margin.top + margin.bottom) 
     .append("g") 
      .attr("transform", "translate(" + margin.left + "," + margin.top + ")") 
      .call(chart); 

나는 가정 svg 요소를 기존 svg 요소에 추가 할 수 없습니다. 가장 좋은 방법에 대한 생각은 무엇입니까?

답변

2

나는 주석으로 이것을 두려고했으나 너무 많은 코드 문이 있습니다. 이것에 대해 :

<span id='element'></span> 
... 

var svg = d3.select("#element") 
    .append("svg") 
    .attr("class", "bullet") 
    .attr("width", width + margin.left + margin.right) 
    .attr("height", height + margin.top + margin.bottom); 

svg 
    .data(data) 
    .append("g") 
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")") 
    .call(chart); 
+0

굉장히 좋습니다. ...하지만 데이터로드시 svg를로드하는 이유는 (예 : http://bl.ocks.org/mbostock/4061961) 데이터로드시 여러 svg 요소를 만드는 것입니다. 위에서 설명한 방법대로 처리하면 .enter() 문 외부에있는 첫 번째 svg 요소 만로드됩니다. – trakz

0

사실, 이것으로 충분 해졌습니다. 고맙습니다.

+0

good ... through excellent. – FernOfTheAndes