D3.js树自定义节点重叠

问题描述:

我搜索论坛的类似问题,但我没有找到任何东西。D3.js树自定义节点重叠

我以this d3-based org chart为起点。

enter image description here

以上是我的树的底部。在叶节点(黄色)我不得不调整它们以适应更多的元素,我不知道有多少提前。 结果是一个节点与其他节点重叠。

希望你们能帮助我在这里:

1/如何调整,而不disrepect节点它们之间的间距?

2/即使我能设法让黄枝节点不重叠,当我扩大绿枝节点,他们还是重叠的黄色侧节点?

3/还是有更好的方法来实现这一目标?

谢谢!

对于那些需要做类似的事情,Tree layout separation是要走的路。

function separation (a, b) { 
    return a.parent == b.parent ? 1 : 2; 
} 

这是令人困惑的阅读文档,但通过一些文章看后,在这里不用(是什么号码1,2的意思):

节点之间的距离将是结果这个数字节点的宽度

所以,你想要做的是设置默认节点大小是 [1,YOUR_DEFAULT_HEIGHT]

然后代替返回1或2,你会返回节点的宽度。这就是为什么你设置初始节点的宽度为1.

就是这样。希望有所帮助:)