web-dev-qa-db-ja.com

d3.jsを使用して.csvからデータをインポートする

D3.jsを使用して.csvからデータをインポートしようとしています。私はこれを行うのに苦労しており、誰かが手を貸すことができるかどうか疑問に思っていました。私の.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)

ただし、コンソールに空の[]が表示されるだけです。誰かが私の間違いを指摘できますか?

19
araspion

次のように変更します。

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

データが返されたら、コールバック内でデータセットを検査する必要があります。

21
Andy Thornton