2

我找不到任何D3 API文档可以让您轻松确定给定 d3.layout.tree 或任何其他布局所需的宽度和高度,以确保没有节点相互重叠。

例如,一旦展开所有子节点, d3.layout.tree 示例就会开始重叠。

是否有一种简单的 D3 方法来确定我的树需要避免重叠的宽度和高度?或者,我必须编写自己的方法吗?

编辑

在将来的某个时候添加此行为存在一个未解决的问题。

编辑#2

现在有https://github.com/mbostock/d3/wiki/Cluster-Layout#nodeSizehttps://github.com/mbostock/d3/wiki/Tree-Layout#nodeSize来设置基于布局的大小关于每个节点的大小。

4

1 回答 1

2

我很确定这是您需要自己创建的东西 - 树布局不知道您将如何表示树节点、标签和其他视觉元素(尤其是这些元素的大小),所以它不知道不一定知道它们是重叠的(您可以减小元素的大小,它们将不再这样做)。因此,我认为不可能将这样的东西构建到树布局功能中。

您可以考虑通过使用“basewidth”变量并将其乘以正在显示的“最终”节点的数量来动态设置宽度(或高度,视情况而定)。

于 2012-07-23T02:28:54.717 回答