【问题标题】:How to import json data in D3?如何在 D3 中导入 json 数据?
【发布时间】:2013-04-18 05:08:50
【问题描述】:

如何在 D3 中导入 json 文件?

我做了d3.json("temp.json");

但是如何在进一步的代码中访问这个数据集呢?

到目前为止我已经尝试过:

var data=d3.json("temp.json");

但使用 .data(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 复制粘贴到变量中,它工作正常。所以数据本身没有问题。

【问题讨论】:

  • d3.json('foo.json', function(error, root) {}); root hat json的根节点。

标签: javascript json d3.js


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-08-17
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    相关资源
    最近更新 更多