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