【发布时间】:2015-11-26 03:33:36
【问题描述】:
考虑任何 d3 力导向动画,例如:
http://bl.ocks.org/mbostock/1062288
加载该图并让节点稳定下来,这样它们就不会移动。将鼠标悬停在橙色节点上,让鼠标静止。单击并不执行任何其他操作。您会看到所有节点向内移动一点,然后又恢复正常。
我不喜欢这种不必要的动作,我需要删除它。
我相信这与“重新加热”的图表有关(请参阅https://github.com/mbostock/d3/wiki/Force-Layout ),它将 alpha 参数设置为 0.1。具体来说,我看到在以下任何一项之后立即发生了不必要的移动。
- 一个新节点被添加到图表中
- 从图中删除一个节点
-
force.drag()被调用。
究竟是什么导致了这种“不必要的移动”,我该如何禁用它? (不禁用节点拖动)
【问题讨论】:
-
强制布局是为了重新计算节点位置而进行的。如果您真的想要它,您可以将节点设置到特定位置。或者大约 3 秒后,您将节点设置为固定。这取决于你最后想要什么。
-
@kwoxer 这不是另一个问题的重复。这个问题不是关于图初始化时节点的行为。我已经编辑了我的问题以使其更清楚。
-
好的,那为什么不直接修复节点呢?
-
@kwoxer 我认为您没有仔细阅读我的问题。我想我已经描述得很清楚了。
标签: javascript d3.js