d3.js 增加未链接节点之间的力

643ylb08  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(105)

我有一个使用d3.js的力定向图,部分代码如下:

simulation
        .force("center", d3.forceCenter(width / 2, height / 2))
        .force("nodes", d3.forceManyBody())
        .force(
            "links",
            d3
                .forceLink(links)
                .id(d => d.id)
                .distance(d => 5 * (d.source.size + d.target.size))
   
        )
        .on("tick", ticked);

这条线确定了 * 链接 * 节点之间的力:

.distance(d => 5 * (d.source.size + d.target.size))

然而,我想在 * 未链接 * 节点之间提供一个力(理想情况下,该力将随着自由度的增加而增加)。
我怎么能做到这一点?

dohp0rv5

dohp0rv51#

这些看起来很管用

.force("charge", d3.forceManyBody().strength(-98))
  .force("collide", d3.forceCollide().radius(50))

我如何在动画进行时动态地改变这些力?

相关问题