D3.js树自定义节点重叠
问题描述:
我搜索论坛的类似问题,但我没有找到任何东西。D3.js树自定义节点重叠
我以this d3-based org chart为起点。
以上是我的树的底部。在叶节点(黄色)我不得不调整它们以适应更多的元素,我不知道有多少提前。 结果是一个节点与其他节点重叠。
希望你们能帮助我在这里:
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.
就是这样。希望有所帮助:)