避免d3.js圈重叠

时间:2012-07-05 07:07:18

标签: d3.js force-layout

你可以在这个bl.ock http://bl.ocks.org/3012590中看到巴黎有许多地理参考点,小圈子上有一个大圆圈:

enter image description here

我希望得到与http://vallandingham.me/vis/gates/类似的内容,以便圈子通过其边框紧密附加。

enter image description here

抱歉,我在这段代码中找不到答案,我想错了。

是否有一个简单的解决办法来解决这个问题?尝试了不同的负电荷力,如果圆形尺寸发生变化会导致问题(如果巴黎的所有圆圈都变得很小,那么它们会相互走得太远)?

1 个答案:

答案 0 :(得分:43)

如果您的目标是防止重叠,那么detecting collisions是满足该约束的更直接的方式。这将产生比排斥电荷力更精确的结果。这是另一个例子:

您不需要强制布局来实现此目的,尽管这两者经常一起使用。您可以在节点上迭代固定次数以解决初始化时的任何冲突。以下是我的一次会谈的实施情况: