javascript - 如何消除d3js中圆圈的重叠?

标签 javascript d3.js collision-detection force-layout

我尝试使用 d3.js 创建网络图

当我增加它重叠的圆的半径时。如何避免这些重叠。

我尝试使用碰撞功能,但没有达到预期效果

    force.nodes(json.nodes).links(links).charge(-500)
        .linkDistance(function (d) {
            if (d.target.bublesize == 12) {
                return 80;
            } else if (d.target.bublesize == 18) {
                return 90;
            } else {
                return link_distance;
            }
        }).collide(.5)

   force.start();

jsFiddle和屏幕截图,有明显的重叠:

enter image description here

最佳答案

你看到了吗

Collision Detection example by Mike Bostock

它也适用于最新版本的 d3.js ...

关于javascript - 如何消除d3js中圆圈的重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19494024/

相关文章:

javascript - Phonegap/Cordova 文件系统 dirEntry.isDirectory 在应该简单地为 false 时生成错误

javascript - ng bootstrap 4 - typeahead 打开焦点

android - 球碰撞 : Balls Stick Together

javascript - 加载程序显示后重置按钮

javascript - 添加c3.js填充而不切断图形

javascript - 径向力布局的节点只占圆的四分之一

javascript - 如何缩放 SVG 以使其中绘制的内容适合容器大小?

c++ - 在OpenGL中实现边界球碰撞

C# 数学,碰撞检测,xna

javascript - 将一个数组的每个元素乘以另一个数组的部分的方法?