我目前正在调用两个json请求到我的文件中:
d3.json("path/to/file.json", function(error, json) {
d3.json("path/to/file.json", function(error, json2) {
});
});
json 2的结构是这样的:
[
{ "city" : "LA",
"locations" : [ { "country" : "USA", "x" : 0, "y" : 0 } ]
},
{ "city" : "london",
"locations" : [ { "country" : "UK", "x" : 0, "y" : 0 } ]
}
...
]
目前我正在尝试访问x& y值为json2。但是,我遇到的问题是我希望同时使用json和amp;我的变量中的json2:
var node = svg.selectAll("a.node")
.data(json.cars)
.enter().append("a")
.attr("class", "node")
;
在这里,我希望将xson2称为x&仅限位置
node.attr("transform", function(d, i) {
return "translate(" + d.x + "," + d.y + ")";
});
node.append('path')
.attr("d", d3.svg.symbol().type(function(d) { return shape [d.name]; }).size(120))
.style("fill", function(d) { return colors [d.name]; } );
我要求的是什么......我尝试了以下内容:
node.attr("transform", function(d,i) {
return "translate(" + json2.locations[d].x + "," + json2.locations[d].y + ")";
});
但没有运气。任何帮助都会很棒 - 谢谢。
答案 0 :(得分:0)
您需要先选择阵列中包含位置的其中一个对象。这些位置也是一个对象数组,因此您需要一个索引来访问它。试试这个以获得LA,USA x变量。
json2[0].locations[0].x