2013-04-02 2 views
18

d3.js를 사용하여 .csv에서 일부 데이터를 가져 오려고합니다. 나는이 일을하는 데 어려움을 겪고 있으며 누군가가 손을 빌려 줄 수 있는지 궁금해하고 있었다. 내 .CSV 파일과 같이 포맷 :d3.js를 사용하여 .csv에서 데이터 가져 오기

max_i,min_i,max_f,min_f 
-122.1430195,-122.1430195,-122.415278,37.778643 
-122.1430195,-122.1430195,-122.40815,37.785034 
-122.4194155,-122.4194155,-122.4330827,37.7851673 
-122.4194155,-122.4194155,-122.4330827,37.7851673 
-118.4911912,-118.4911912,-118.3672828,33.9164666 
-121.8374777,-121.8374777,-121.8498415,39.7241178 
-115.172816,-115.172816,-115.078011,36.1586877 
-82.5618186,-82.5618186,-79.2274115,37.9308282 
-79.9958864,-79.9958864,-80.260396,40.1787544 
-74.1243063,-74.1243063,-74.040948,40.729688 
-106.609991,-106.609991,-106.015897,35.640949 

나는 다음과 같은 코드를 사용하여 데이터를로드하려고 :

var dataset = [] 
d3.csv("data.csv", function(data) { 
    dataset = data.map(function(d) { return [ +d["max_i"], +d["min_i"] ]; }); 
}); 
console.log(dataset) 

하지만, 난 그냥 콘솔에서 [] 빈을 얻을. 누군가 내 실수를 지적 할 수 있습니까?

답변

20

변경이로 :

var dataset = [] 
d3.csv("data.csv", function(data) { 
    dataset = data.map(function(d) { return [ +d["max_i"], +d["min_i"] ]; }); 
    console.log(dataset) 
}); 

당신은 당신의 데이터가 반환되면, 콜백 내에서 데이터 집합을 검사해야합니다.

+0

감사합니다. 문제가 있습니다. 이제 새로운 오류가 발생합니다. 이것은 콘솔이 출력하는 것입니다. 처리되지 않는 형식 오류 '은 정의되지 않은 example.html있어서의'지도 '호출 할 수 : 63 (익명 함수) example.html 63 (익명 함수) d3.v2.min.js 1 R의 d3.v2. min.js : 2 r.onreadystatechange' – araspion

+0

나는 내 대답을 편집 했으므로주의를 기울여야했다. v2를 사용하기 때문에 오류 인수가 없습니다. –

+0

고마워요. 여기에서 범위 지정에 대해 다소 혼란 스럽습니다. d3.csv() 함수 외부에서 정의한 전역 변수에 데이터를 할당하더라도 콜백 내부의 데이터 집합을 검사해야하는 이유는 무엇입니까? – araspion