d3.js - 防止在强制导向图中使用父/其他组“聚类”

时间:2014-01-30 01:46:53

标签: javascript d3.js force-layout

我现在正面临一个问题,我正试图制作一个力量导向的图表,该图表对于它如何聚类是明智的。目前我得到以下内容,正如您所看到的,在可读性方面布局非常破碎。我更希望每个子组都有自己的组,并且排斥兄弟组,所以它更容易理解。最好,我也希望这些集群在父节点周围均匀分布,所以当有很多节点时,如果它们全部聚集在节点的一侧,它们至少比它们可读的更具可读性。家长。

我做了一些研究,我想要类似于this,但我不确定如何将其应用到我的网站。作为参考,我的网站布局基于this强制布局。

1 个答案:

答案 0 :(得分:1)

我最后玩了d3力量选项,我觉得这是一个可行的解决方案:

var force = d3.layout.force()
    .linkDistance(function(d) { 
        return d.target._children ? d.target._children.length * 30 : 
            d.target.children ? d.target.children.length * 30 :
            60;
    })
    .charge(-400)
    .gravity(0.05)
    .friction(0.45)
    .linkStrength(0.6)
    .size([width, height])
    .on("tick", tick);

gravity / friction / linkStrength不是必需的,但会使转换更顺畅;非常消极charge是解决我原始问题的关键因素。

非常感谢@AmeliaBR指出我正确的方向!