Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 按编程方式缩放到力定向图中的节点_Javascript_Svg_D3.js_Coffeescript - Fatal编程技术网

Javascript 按编程方式缩放到力定向图中的节点

Javascript 按编程方式缩放到力定向图中的节点,javascript,svg,d3.js,coffeescript,Javascript,Svg,D3.js,Coffeescript,我试图在d3中的力定向图中实现“缩放到节点”行为。用户应该能够单击链接,从而触发缩放到图形布局中特定节点的转换 使用该方法,正常缩放(例如,使用鼠标/触摸事件)按预期工作 我尝试以编程方式设置平移向量和缩放,然后手动触发缩放事件,但我不确定如何计算平移向量,以便使用指定节点的x和y坐标将其居中 zoomToNode = (n) -> zoom.scale(4) # scaleExtent() = [1,10] # how do i calculate

我试图在d3中的力定向图中实现“缩放到节点”行为。用户应该能够单击链接,从而触发缩放到图形布局中特定节点的转换

使用该方法,正常缩放(例如,使用鼠标/触摸事件)按预期工作

我尝试以编程方式设置平移向量和缩放,然后手动触发缩放事件,但我不确定如何计算平移向量,以便使用指定节点的x和y坐标将其居中

zoomToNode = (n) ->
  zoom.scale(4)                 # scaleExtent() = [1,10]
  # how do i calculate the translate vector here?
  zoom.event(vis)
我也不知道,如何在转换中使用这个

谢谢你的帮助

更新:


我仍然不知道如何计算正确的平移向量。。看见在第290行中计算平移向量。请注意,该元素是响应的,可能会造成一些问题。

可能重复感谢,此处显示的示例使我走上了正确的轨道。然而,我仍然不知道如何计算平移向量,尽管它应该比给定的例子更简单,因为我不需要考虑不同的边界框大小。