2013-04-18 4 views
4

D3에서 json 파일을 가져 오는 방법은 무엇입니까?D3에서 json 데이터를 가져 오는 방법은 무엇입니까?

나는

d3.json("temp.json");을했다하지만 어떻게 내가 더 코드에서이 데이터 세트를 액세스합니까?

은 지금까지 나는 시도했다 :

var data=d3.json("temp.json"); 

그러나 .DATA (데이터)를 사용하여 코드의 나머지 부분에서 작동하지 않았다. 예 : 여기에

var rows = g.selectAll("g.row") 
.data(data) 
.enter().append("g") 
.attr({ 
    "class": "row", 
    "transform": function(d, i) { 
    var tx = 170 + i * squareWidth; 
    var ty = 150; 
    return "translate(" + [tx, ty] + ")" 
    } 
}); 

데이터에 액세스 할 수 없습니다. json을 변수에 붙여 넣으면 복사가 잘됩니다. 따라서 데이터 자체에는 문제가 없습니다.

+0

'd3.json ('foo.json', 기능 (오류, 루트) {}) 모든 일을 왜, 이유입니다' root hat은 json의 루트 노드입니다. – Imperative

답변

8

기능 d3.json()은 비동기입니다. 따라서 data 변수를 읽기 전에 데이터를 수신 할 때까지 기다려야합니다. 이 비동기 데이터를 처리 할 때, 연습이 d3.json() 함수 내에서

d3.json("temp.json", function(error, data){ 
    //use data here 
}) 
// do not use data anymore 
관련 문제