如何在D3中导入json文件?
我做了d3.json("temp.json");
但是如何在更多代码中访问此数据集?
到目前为止,我已经尝试过:
var data=d3.json("temp.json");
但是使用.data(数据)在其余代码中不起作用。例如,这里
var rows = g.selectAll("g.row")
.data(data)
.enter().append("g")
.attr({
"class": "row",
"transform": function(d, i) {
var tx = 170 + i * squareWidth;
var ty = 150;
return "translate(" + [tx, ty] + ")"
}
});
无法访问数据。我复制粘贴json到变量,它工作正常。所以数据本身没有问题。
答案 0 :(得分:8)
函数d3.json()
是异步的。因此,在读取data
变量之前,您必须等待接收数据。这就是为什么在处理异步数据时,实践是在d3.json()
函数内做所有事情
d3.json("temp.json", function(error, data){
//use data here
})
// do not use data anymore