Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 缩放到D3力定向图上单击的节点_Javascript_D3.js_Zooming_Force Layout - Fatal编程技术网

Javascript 缩放到D3力定向图上单击的节点

Javascript 缩放到D3力定向图上单击的节点,javascript,d3.js,zooming,force-layout,Javascript,D3.js,Zooming,Force Layout,我正在尝试将面包车应用到一个D3力定向图上,我正在工作的图上已经有了功能。但是,我不知道如何获得我当前的职位,以便将其作为转换的起点。对于尝试使用法线变换,我也有同样的问题 我也试着看了一下,但我不确定如何将其应用到力定向图上 有几件事我想应用它,包括当我点击链接时能够缩放和跳转到链接的目标节点。有没有办法获取当前屏幕位置,以便我可以将其作为跳转到我想去的地方的起点?实际上,我只是根据中单击的函数计算出来的。我的方程式对于我的刻度和换算数字是错误的。我需要通过这种方式获得我的翻译数字: tran

我正在尝试将面包车应用到一个D3力定向图上,我正在工作的图上已经有了功能。但是,我不知道如何获得我当前的职位,以便将其作为转换的起点。对于尝试使用法线变换,我也有同样的问题

我也试着看了一下,但我不确定如何将其应用到力定向图上


有几件事我想应用它,包括当我点击链接时能够缩放和跳转到链接的目标节点。有没有办法获取当前屏幕位置,以便我可以将其作为跳转到我想去的地方的起点?

实际上,我只是根据中单击的函数计算出来的。我的方程式对于我的刻度和换算数字是错误的。我需要通过这种方式获得我的翻译数字:

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));

实际上,我只是根据中单击的函数计算出来的。我的方程式对于我的刻度和换算数字是错误的。我需要通过这种方式获得我的翻译数字:

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));

假设您有一个“标准”部队布局,目标节点的位置将是
[d.target.x,d.target.y]
,其中
d
是绑定到链接的数据。是的,我使用的是“标准”部队布局。我知道如何获得目标x和y,但为了能够过渡到那里,我不需要知道我的当前位置吗?我如何在地图上获得我的当前位置,以便从该位置跳到目标x和y?您如何转换?如果您只需对元素调用
.transition().attr(“transform”,…)
,则无需知道当前位置。谢谢您的评论。我回头看了看我过渡的方式,发现了这一点。请参阅下面的答案。假设您有“标准”部队布局,目标节点的位置将为
[d.target.x,d.target.y]
,其中
d
是绑定到链接的数据。是的,我使用的是“标准”部队布局。我知道如何获得目标x和y,但为了能够过渡到那里,我不需要知道我的当前位置吗?我如何在地图上获得我的当前位置,以便从该位置跳到目标x和y?您如何转换?如果您只需对元素调用
.transition().attr(“transform”,…)
,则无需知道当前位置。谢谢您的评论。我回头看了看我过渡的方式,发现了这一点。见下面我的答案。