Javascript D3.js(v5或v6):获取初始缩放位置和缩放比例,以适应部队布局

Javascript D3.js(v5或v6):获取初始缩放位置和缩放比例,以适应部队布局,javascript,d3.js,synchronization,zooming,force-layout,Javascript,D3.js,Synchronization,Zooming,Force Layout,在D3V5(或6!)中,需要编写什么代码 让我的强制布局在SVG中自动居中(至少在开始时) 获取动态定义的缩放级别,以将所有节点保持在可见SVG中(至少在开始时) 我正在考虑在每一帧检查每个节点的位置,并做出相应的反应,但这看起来太浪费了 非常感谢你的帮助 至于适当的缩放和平移,您可以尝试解决方案-它们是v4,在v5中也可以使用,在v6中有一些小的调整。(也就是说,自动缩放和平移以保持所有节点可见)谢谢Andrew!Translates现在可以用于缩放,但不能用于开始。有什么想法吗?const

在D3V5(或6!)中,需要编写什么代码

  • 让我的强制布局在SVG中自动居中(至少在开始时)
  • 获取动态定义的缩放级别,以将所有节点保持在可见SVG中(至少在开始时)
  • 我正在考虑在每一帧检查每个节点的位置,并做出相应的反应,但这看起来太浪费了


    非常感谢你的帮助

    至于适当的缩放和平移,您可以尝试解决方案-它们是v4,在v5中也可以使用,在v6中有一些小的调整。(也就是说,自动缩放和平移以保持所有节点可见)谢谢Andrew!Translates现在可以用于缩放,但不能用于开始。有什么想法吗?const svg=d3.select('div#netowrk').append(“svg”).attr(“width”).attr(“height”).call(d3.zoom().on(“zoom”),()=>{svg.attr(“transform”,d3.event.transform”).call(d3.zoom().transform,d3.zoomIdentity.translate(width/2,height/2).scale(0.2)).append(“g”)//不起作用。attr(“transform”,“scale(0.2)”).attr(“transform”,“translate(width/2,height/2)”)最好在这里看到(只是JSFIDLE上的js代码):我一定是写错了什么。至于适当的缩放和平移,你可以尝试解决方案-它们是v4,也可以在v5中使用,并且有一些小的调整,在v6中。(也就是说自动缩放和平移以保持所有节点可见)谢谢Andrew!Translates现在可以用于缩放,但不能用于开始。有什么想法吗?const svg=d3.select('div#netowrk').append(“svg”).attr(“width”).attr(“height”).call(d3.zoom().on(“zoom”),()=>{svg.attr(“transform”,d3.event.transform”).call(d3.zoom().transform,d3.zoomIdentity.translate(width/2,height/2).scale(0.2)).append(“g”)//不起作用。attr(“transform”,“scale(0.2)”).attr(“transform”,“translate(width/2,height/2)”)最好在这里看到(只是JSFIDLE上的js代码):我一定是写错了什么。