我正在使用d3.js v4并试图实现一个带有缩放和平移的力导向图,它在单击节点时使摄像机居中。所以这是节点上的点击事件:
var x = (width/2-d.x);
var y = (height/2-d.y);
g.transition()
.duration(750)
.attr("transform", "translate(" + x + "," + y + ")");
这可以按预期工作,但每次点击后,每当我尝试缩放/平移时,相机都会回到之前的位置/缩放。
这是我的缩放处理程序:
var zoom = d3.zoom()
.scaleExtent([1, 10])
.on("zoom", zoomed);
zoom(svg);
function zoomed() {
g.attr("transform", d3.event.transform);
}