d3.js - 仅修复力布局中节点的一个维度?

标签 d3.js force-layout

这个问题- Fix Node Position in D3 Force-Directed Layout - 涵盖如何固定节点在力布局中的位置。

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

最佳答案

这在 D3 中不直接支持,但您可以通过在 tick 处理程序函数中重置您希望保持不变的坐标来手动执行此操作。

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

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

关于d3.js - 仅修复力布局中节点的一个维度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32036928/

相关文章:

d3.js - 如何更改力布局中节点之间的距离?

javascript - 如何使 d3.js 强制布局重力矩形?

javascript - 如何仅增加 C3 饼图图例的宽度。不适用于整个图表

javascript - 如何根据他的第二个子数组值获得最大的数组元素

javascript - R网络D3包: forceNetwork() coloring

代表节点的 Svg 图像,在力有向图中改变节点大小

javascript - d3js 如何将参数传递给 Force Tick 事件?

javascript - D3 将数据字符串拆分为字符

javascript - 鼠标悬停时显示每个切片的图像

d3.js - 如何在 d3 力导向图布局中可视化节点组