D3.js 是否仅修复force布局中节点的一个维度?

D3.js 是否仅修复force布局中节点的一个维度?,d3.js,force-layout,D3.js,Force Layout,这个问题--包括如何在力布局中固定节点的位置 我的问题是如何固定一个节点的一个维度,X或Y,并让另一个对布局中的力作出响应 D3中不直接支持这一点,但您可以通过在tickhandler函数中重置要保持恒定的坐标来手动实现 force.on("tick", function() { nodes.each(function(d) { d.x = d.px = d.savedX; // similar for y }); // do other stuff }); 这要求您将所需

这个问题--包括如何在力布局中固定节点的位置


我的问题是如何固定一个节点的一个维度,X或Y,并让另一个对布局中的力作出响应

D3中不直接支持这一点,但您可以通过在
tick
handler函数中重置要保持恒定的坐标来手动实现

force.on("tick", function() {
  nodes.each(function(d) {
    d.x = d.px = d.savedX; // similar for y
  });
  // do other stuff
});

这要求您将所需的值与绑定到节点的数据一起存储在属性
savedX
的示例中(当然,您可以使用任何其他名称,只要它不被任何其他名称使用)。

谢谢!对于那些发现这一点的人,在这里的第一段中有一些关于这一点的文档-