Javascript D3.js气泡云圈在强制布局中重叠,即使带有负电荷和碰撞检测

Javascript D3.js气泡云圈在强制布局中重叠,即使带有负电荷和碰撞检测,javascript,d3.js,Javascript,D3.js,我主要是从Jim Vallandingham的气泡图示例开始工作的,当我第一次刷新页面时,所有的数据都链接到了圆圈和强制布局。我希望气泡能够像运行的代码一样拆分和分组,但在我单击按钮移动气泡后,它们彼此重叠。您可以看到我在JSFiddle上所做的工作的详细信息。在Vallandingham的书中,他写道,主要的碰撞/气泡不重叠效应来自电荷函数: function charge(d) { return -Math.pow(d.radius/2, 2.0) / 8; } 我在我的代码中使用了它

我主要是从Jim Vallandingham的气泡图示例开始工作的,当我第一次刷新页面时,所有的数据都链接到了圆圈和强制布局。我希望气泡能够像运行的代码一样拆分和分组,但在我单击按钮移动气泡后,它们彼此重叠。您可以看到我在JSFiddle上所做的工作的详细信息。在Vallandingham的书中,他写道,主要的碰撞/气泡不重叠效应来自电荷函数:

function charge(d) {
  return -Math.pow(d.radius/2, 2.0) / 8;
}

我在我的代码中使用了它,但由于某种原因,它的工作方式不一样,我不知道为什么。我也尝试过用不同的方式进行手动碰撞检测,但一直没有成功。提前谢谢

你好,Rina,欢迎使用stackoverflow,请更新您的代码并提供一个工作示例(不仅仅是代码)。这将有助于理解问题并提供更快的解决方案。我确实包含了一个指向工作代码的链接,但您可以在此处再次看到它:@RinaSchiller问题是这是您的页面,这里没有人可以更改它。有几个服务(jsfiddle、plunker、codepen等)可以用来创建一个运行版本,我们可以对其进行更改和测试。这样,你会得到更快的帮助。谢谢!我在这里发布了一个JSFIDLE版本: