【问题标题】:Fix only one dimension of a node in force layout?仅修复强制布局中节点的一维?
【发布时间】:2015-11-09 07:05:41
【问题描述】:

这个问题 - Fix Node Position in D3 Force-Directed Layout - 涵盖了如何在强制布局中修复节点的位置。

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

【问题讨论】:

    标签: d3.js force-layout


    【解决方案1】:

    这在 D3 中不直接支持,但您可以通过在 tick 处理函数中重置要保持不变的坐标来手动完成。

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

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

    【讨论】:

    猜你喜欢
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多