希望将我的数据与我的视觉分开,我想脱离以下的d3规范。
d3.json("data/2014/adopted.json", function (d) {
// make an interesting visualization and put all of my code here
});
相反,我希望将我的数据输入到我的脚本中,以便我可以与它进行交互。
myData = d3.json("data/2014/adopted.json", function (d) {
console.log(d);
return d;
});
我的目标是拥有一个我的代码可以与之交互的对象。 console.log()有效但当我尝试返回d时,它是未定义的。
myData[0] //Uncaught TypeError: Cannot read property '0' of undefined
我希望使用数据,例如当我将其作为变量包含在我的脚本中时。我可以使用我当前的代码执行此操作,但我希望能够超越它。如何将myData变成对象?
答案 0 :(得分:0)
d3.json API调用不会像您期望的那样返回值。我找不到文档来指定d3.json方法的返回值是什么。从您的示例中,它似乎总是返回一个未定义的值。
你可以这样做:
var jsondata;
d3.json(dataPath, function(dataFromServer) {
jsondata = dataFromServer;
}