我有一个包含 3 个 JSON 对象的数组,我想在 d3 中绑定这些对象以制作一些矩形。但是,它不是只遍历数组一次,而是多次遍历它。我想知道这段代码是否看起来错误。
var w = 5000;
var h = 5000;
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
var elem = svg.selectAll("g")
.data(dataset)
var elemEnter = elem.enter()
.append("g")
var rects = elemEnter.selectAll("rect")
.data(dataArr)
.enter()
.append("rect")
.attr("x", function(d, i) {
console.log(i);
return 75;
})
.attr("y", function(d, i) {
return (i * 50) + 25;
});
作为参考,这是我在控制台中打印出 dataArr 时的样子。[对象,对象,对象]
非常感谢帮忙。我一直试图理解为什么它在尝试创建矩形时多次循环数据。此外,这是代码中唯一有矩形的地方。