2012-10-29 4 views
0

현재 D3.json 함수를 사용하여 json 데이터를 가져 오는 데 ... http://bl.ocks.org/1377729과 같은 예제를 사용자 정의하려고합니다. 나는 또한 넣어 시도D3.json 함수를 사용하여 json 데이터 가져 오기

 for(var i = 0; i < 30; i++) { 


      var node = json; 
      nodes.push(node); 
      labelAnchors.push({ 
       node : node 
      }); 
      labelAnchors.push({ 
       node : node 
      }); 
     }; 

 d3.json("http:", function(json) { 

    var nodes = []; 
    var labelAnchors = []; 
여기

내가 기능을 가져올 시도하지만, 아무것도 할 나던 : 순간

나는이 일을 시도하고있다 함수를 .text 함수로 바꾼다.

 anchorNode.append("svg:text") 
      .text(function(d, i) {return i % 2 == 0 ? "" : d.node.json }) 
      .style("fill", "#555") 
      .style("font-family", "Arial") 
      .style("font-size", 12); 

누군가 내가 잘못 가고 있다고 나에게 말할 수 있겠는가!

+0

json url이 완료되지 않은 것 같습니다. https://github.com/mbostock/d3/wiki/Requests#wiki-d3_json – nautat

+0

안녕하세요 @nautat 제가 의도적으로 그 부분을 빠뜨린 것입니다. 다른 점이 있습니까? – user1701622

+0

json 데이터 구조가 어떻게 생겼는지 공유 할 수 있습니까? 인용 한 예제에서 노드와 labelAnchors가 객체의 배열 (길이 30)임을 알 수 있습니다. 노드 객체는 {label : "node0"}처럼 보이고 nodes 배열을 형성합니다. labelAnchors 배열을 형성하는 객체는 {node : {label : "node0"}}와 같습니다. – nautat

답변

0

먼저 json 배열을 단계적으로 수행하여 nodes 배열 및 labelAnchors 배열을 작성하십시오. 귀하의 경우 그 키가 Name라고하면서

for (var i = 0; i < json.length; i++) { 
    var node = json[i]; 
    nodes.push(node); 
    labelAnchors.push({ 
     node : node 
    }); 
    labelAnchors.push({ 
     node : node 
    }); 
    }; 

의 예는, label라는 키를 사용하여 객체를 가지고에 의존합니다. 따라서 예제 코드를 다음과 같이 조정해야합니다.

anchorNode.append("svg:text") 
    .text(function(d, i) { 
     return i % 2 == 0 ? "" : d.node.Name; 
    }) 
    .style("fill", "#555") 
    .style("font-family", "Arial") 
    .style("font-size", 12); 
관련 문제