我需要填充二维数组,例如
var dataset = [[1,3,3,5,6,7],[3,5,8,3,2,6],[9,0,6,3,6,3],[3,4,4,5,6,8],[3,4,5,2,1,8]];
信息来自外部来源,而我有控制格式来存储它们(csv,json等,由d3.csv
,d3.json
等函数读取。
在外部文件中存储2d数组的最简单方法是什么,并在进行d3处理时读入以填充dataset
之类的变量?
答案 0 :(得分:4)
你可以使用CSV文件,TSV文件,XML文件,文本文件......但是,我相信存储阵列数组的最简单方法只是保存它(当前的方式,没有变化,但当然没有分号)在JSON文件中。
因此,如果你问最简单的方法是什么(并且,如果通过最简单的,你的意思是需要更少代码来获得最终结果的方式),JSON是迄今为止最好的选择。
这是一个说明这一点的插件(我不能使用堆栈片段来加载JSON文件),看一下控制台:https://plnkr.co/edit/2ksVXhnP8EFFHo8P1vrt?p=preview
代码很简单:
d3.json("data.json", function(data){
console.log(data)
})
data.json
文件只是:
[
[1, 3, 3, 5, 6, 7],
[3, 5, 8, 3, 2, 6],
[9, 0, 6, 3, 6, 3],
[3, 4, 4, 5, 6, 8],
[3, 4, 5, 2, 1, 8]
]
答案 1 :(得分:2)
我想这实际上取决于“最佳方式”的含义。 D3提供了多种加载数据的方法:csv,tsv,json。由于现在很多API都返回JSON数据,所以如果可以的话,我喜欢坚持使用这种格式。如果您选择这样,您可以使用以下D3功能:
d3.json("path/to/file.json", function(dataset) {
// Data is now in dataset
console.log(dataset);
});
但当然你可以用csv或tsv做同样的事情。