D3可折叠力布局可变链接长度

时间:2016-10-08 00:10:49

标签: javascript d3.js

我一直在尝试调整下面链接中显示的可折叠力布局。 http://bl.ocks.org/mbostock/1093130

任何人都可以帮我理解如何为每个链接设置不同长度的linkdistance而不是将它们全部设置为一个值吗?

与此问题类似的是示例https://bl.ocks.org/mbostock/1062288,它似乎允许各个链接具有不同的长度。但是,我不明白代码是如何解释的。

感谢任何指导。

1 个答案:

答案 0 :(得分:1)

正如西里尔所说,下面的代码很有用。

var force = d3.layout.force()
.linkDistance(function(d){
    if(d.target._children){
        return 50;//target is not expanded so link distance is 50
    } else {
        return 200;//target is expanded so link distance is 200
    }
})

对我来说是什么样的:

var force = d3.layout.force()
.linkDistance(d.target.nodeproperty)

特别是我没有意识到我必须在d.nodeproperty中指定目标。