0
我仍然是一個javascript和d3的新手。我想計算d3力佈局節點座標的平均值(請記住,這些節點是靈活的,即可以通過鼠標拖動來移動)。我在其中一個答案中看到了.map
的用法,並嘗試使用它,但似乎存在一些問題。現在我的代碼片段看起來是這樣的:計算d3力佈局節點座標的平均值
function tick() {
var positions = finalNodeSet.map(function(d) {
return [d.x, d.y];
});
var x1 = 0;
var y1 = 0;
for(var i=0; i<positions.length; i++){
x1+=positions[[i][0]];
y1+=positions[[i][1]];
}
似乎positions
是object
型的,它包含了所有的所有節點的座標與每一個「滴答」。現在我想要的是隻存儲座標的最終值並獲得座標的平均值。任何人都可以幫我解決這個問題嗎?
link.attr("x1", function (d) {
return d.source.x;
})
.attr("y1", function (d) {
return d.source.y;
})
.attr("x2", function (d) {
return d.target.x;
})
.attr("y2", function (d) {
return d.target.y;
});
node.each(collide(.5))
.attr("cx", function (d) {
return d.x;
})
.attr("cy", function (d) {
return d.y;
});
}
不知道'finalNodeSet'是什麼。你能告訴我們你用來設置'tick'處理程序中節點位置的代碼嗎? –