Joh*_* M. 22 javascript csv arrays import d3.js
我是D3的新手,刚刚开始研究一个项目.我的问题是这个.我想从D3中的2个csv文件导入数据,以便将它们用于图形比较.我面临的问题是:
1.如何从多个csv文件导入数据.
2.我可以为每个csv使用一个数组,或者D3只使用一个全局数据数组吗?
3.有没有办法从csv文件中选择某个列进行导入?
这是一个例子,我想从单独数组中的每个文件导入"oldVer",然后使用2个数组来处理.这在D3中是可行的吗?
csv 1
次,oldVer,newVer,oldT,newT
1,180930,190394,24,59
2,198039,159094,26,45
3,152581,194032,22,61
csv 2
次,oldVer,newVer,oldT,newT
1,184950,180435,27,26
2,120590,129409,13,13
3,165222,182133,60,54
再次对这个愚蠢的问题感到抱歉,但我对此事的反馈很少.任何帮助将不胜感激.
Aba*_* F. 21
在d3版本5中,您可以使用Promise.all加载多个csv文件.例:
Promise.all([
d3.csv("file1.csv"),
d3.csv("file2.csv"),
]).then(function(files) {
// files[0] will contain file1.csv
// files[1] will contain file2.csv
}).catch(function(err) {
// handle error here
})
Run Code Online (Sandbox Code Playgroud)
Lar*_*off 13
你只需要打d3.csv几次电话:
d3.csv("csv1.csv", function(error1, data1) {
d3.csv("csv2.csv", function(error2, data2) {
// do something with the data
});
});
Run Code Online (Sandbox Code Playgroud)
至于你的第三个问题,不,D3会解析一切.没有什么可以强迫你使用所有数据,所以如果你只对一列感兴趣,只需使用那里的数据.
Stu*_*ows 12
您可以使用d3 队列同时加载文件.一个例子;
d3.queue()
.defer(d3.csv, "file1.csv")
.defer(d3.csv, "file2.csv")
.await(function(error, file1, file2) {
if (error) {
console.error('Oh dear, something went wrong: ' + error);
}
else {
doStuff(file1, file2);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15658 次 |
| 最近记录: |