【发布时间】:2016-03-09 20:39:11
【问题描述】:
我有thisd3.js 强制布局,其中节点是带有相关文本的矩形。每当拖动节点时,位置都是固定的,就像在 mike 的 example 中一样。
我希望节点在拖动时捕捉到不可见的网格。使它们整齐排列。因此我将它添加到拖动事件中:
var grid = 50;
d3.select(this)
.attr("x", function(d) { return Math.round(d3.event.x/grid)*grid; })
.attr("y", function(d) { return Math.round(d3.event.y/grid)*grid; });
不知何故,这没有按预期工作。我想这与力布局的刻度功能有关。但我不确定,因此调用 force.stop()、force.start() 来查看是否有帮助。
我还尝试将矩形和文本嵌套在 g 元素中,并使用 transform(translate) 来定位节点。但也没有成功。
【问题讨论】: