2013-04-02 19 views
18

d3.jsを使用して.csvからデータをインポートしようとしています。私はこれをするのに苦労しており、誰かが手を貸すことができるかどうか疑問に思っていました。私の.csvファイルは、そのようにフォーマットされます。しかし、私はちょうど[]コンソールで空の取得d3.jsを使用して.csvからデータをインポートする

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

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 

私は、次のコードを使用してデータをロードしようとしています。誰も私の間違いを指摘できますか?

答えて

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

ありがとうございます - 問題は私は今新しいエラーを取得しています。これは、コンソールが印刷しているものです。 'キャッチされない例外TypeError:未定義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

関連する問題