编程语言
首页 > 编程语言> > javascript – 缩放到D3 Force Directed Graph上的单击节点

javascript – 缩放到D3 Force Directed Graph上的单击节点

作者:互联网

我正在尝试将面包车Wijk Smooth Zooming example应用到我正在工作的D3力导向图上,它已经有drag+zoom功能了.但是,我不知道如何获得我当前的位置,以使其成为转换的起点.尝试使用正常变换我有同样的问题.

我也试过看click-to-zoom-transform,但我不知道如何将它应用于力导向图.

有一些我想要应用它的东西,包括当我点击链接时能够缩放和跳转到链接的目标节点.有没有办法获得当前的屏幕位置,所以我可以用它作为起点跳到我想去的地方?

解决方法:

实际上,我只是根据this example中点击的函数计算出来.我的等式和我的等式转换数字是错误的.我需要这样得到我的翻译号码:

translate = [width / 2 - scale * x, height / 2 - scale * y]

然后我需要通过缩放行为本身的转换调用()缩放行为,如下所示,最后使用“.event”使其触发:

svg.transition().duration(750)
   .call(zoom.translate(translate).scale(scale).event);

而不是像以前那样通过翻译svg来做错误的方式:

svg.transition().duration(750)
   .attr("transform", translate(translate).scale(scale));

标签:zooming,javascript,d3-js,force-layout
来源: https://codeday.me/bug/20191008/1872614.html