缩放到D3强制有向图上的点击节点

Zooming to a clicked node on a D3 Force Directed Graph

本文关键字:节点 有向图 D3 缩放      更新时间:2023-09-26

我正试图将van Wijk平滑缩放示例应用于我正在工作的D3力导向图形,该图形已经具有拖动+缩放功能。然而,我不知道如何得到我的当前位置,以使其成为转换的起点。我有同样的问题,试图使用一个正常的转换。

我还尝试查看点击缩放变换,但我不确定如何将其应用于力导向图形。

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

实际上,我只是根据这个例子中的click函数算出来的。我的方程式对我的刻度和转换数字来说是错误的。我需要这样得到我的翻译数:

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

然后我需要调用()缩放行为和缩放行为本身的过渡,就像下面的"。

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

和不做错误的方式通过转换svg像我之前做的:

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