如何在D3中导入json数据?

时间:2013-04-18 05:08:51

标签: javascript json d3.js

如何在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到变量,它工作正常。所以数据本身没有问题。

1 个答案:

答案 0 :(得分:8)

函数d3.json()是异步的。因此,在读取data变量之前,您必须等待接收数据。这就是为什么在处理异步数据时,实践是在d3.json()函数内做所有事情

d3.json("temp.json", function(error, data){
    //use data here
})
// do not use data anymore