使用d3.js从.csv导入数据

ara*_*ion 19 javascript csv import-from-csv d3.js

我试图使用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
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码加载数据:

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

但是,我只是在控制台中得到一个空的[].谁能指出我的错误?

And*_*ton 21

将其更改为:

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

返回数据后,您需要检查回调内的数据集.

  • 因为回调函数是异步执行的,所以一旦返回数据.这意味着如果将console.log(数据集)放在回调之外,您将获得您定义的空数组,因为尚未返回任何数据.如果这回答了您的问题,那么您应该将其标记为.帮助其他人解决同样的问题.:) (2认同)