Javascript 防止力有向图中的节点重叠

Javascript 防止力有向图中的节点重叠,javascript,d3.js,overlap,force-layout,Javascript,D3.js,Overlap,Force Layout,我已经为社会网络分析构建了一个力定向图 我面临的问题是节点之间不断重叠 如何防止力有向图中的节点重叠 这是我的 下面是我的力定向图的图像 如何删除这些节点的重叠?如何在链接之间保持至少一些距离,以便链接正确可见?有两种方法可以避免d3 force布局中的重叠 首先是调整的参数,其中最相关的是“充电”参数。“电荷”值为负值的节点会将其他节点推开(相对于具有正值的节点会将其他节点拉近),您可以增加电荷量以产生更大的推力 “电荷”的默认值是-30,所以从那里你可以调整它,直到你得到你想要的效果。没

我已经为社会网络分析构建了一个力定向图

我面临的问题是节点之间不断重叠

如何防止力有向图中的节点重叠

这是我的

下面是我的力定向图的图像


如何删除这些节点的重叠?如何在链接之间保持至少一些距离,以便链接正确可见?

有两种方法可以避免d3 force布局中的重叠

首先是调整的参数,其中最相关的是“充电”参数。“电荷”值为负值的节点会将其他节点推开(相对于具有正值的节点会将其他节点拉近),您可以增加电荷量以产生更大的推力

“电荷”的默认值是-30,所以从那里你可以调整它,直到你得到你想要的效果。没有简单的公式来确定您想要的值,因为它还取决于其他参数和图形中的链接数量


如果出于任何原因调整电荷对您不起作用(例如,如果您希望节点彼此靠近,而不是相互排斥,但仍然不重叠),那么您可以手动检查重叠节点,如Josh在评论中建议的那样。

碰撞检测@Josh我已经把var q=d3.geom.quadtree(graph.nodes),I=0,n=nodes.length;而(++i到我的图表,但它仍然是一样的。你也可以简单地增加你的部队布局上的“费用”参数,也许使其成为节点类型的函数(这样,较大的图标比较小的图标更容易相互推开)。然而,考虑到你拥有的链接数量,你可能仍然会有重叠的线条。@AmeliaBR谢谢。它通过增加电荷起作用。您也可以提供您的评论作为答案,以便我可以接受。因此,这样做将有利于其他人。另一个(不太明显的)避免重叠的方法是