防止力导向图中的节点重叠

时间:2014-04-23 17:43:52

标签: javascript d3.js overlap force-layout

我为社交网络分析构建了一个力导向图。

我面临的问题是节点彼此重叠,

如何防止强制有向图中节点重叠?

这是我的code with dummy data

以下是我的力导向图的图像

enter image description here

enter image description here

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

1 个答案:

答案 0 :(得分:10)

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

首先是调整force object的参数,其中最相关的是" charge"参数。负数为#34;充电的节点"值将其他节点推开(相对于具有正值的节点拉近其他节点),您可以增加电量以引起更大的推动。

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

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