我正在尝试创建一个至少有12个级别的二叉树。在12级的情况下,我必须调整2 ^ 12个节点,这非常高,我添加了一个水平滚动条。所以,我希望最后一级的所有节点彼此粘在一起以节省空间和水平滚动,如下图所示:
我不想每次都调整svg的宽度来挤压它们。我想要一些适当的方法来减少最后一级节点之间的分离,并保持节点分离相同,即使svg或容器的宽度增加。 直到现在我还没有在网上找到任何解决方案。
请建议一种方法来实现这一目标。
答案 0 :(得分:0)
您可以使用节点的深度属性来执行此操作,即:
nodes.forEach(function(d) { d.y = d.depth * 180; });
对于树的每个级别,您可以更新它们之间的差距。
为了给你一个想法,看看这个例子: http://plnkr.co/edit/bDBe0xGX1mCLzqYGOqOS?p=preview