**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
昨天关门了。
Improve this question
d3 example
我按照链接中的例子。我想指定高度和宽度为“无限”,可以这么说,因为我的json文件真的很大,节点重叠,因为树和svg元素的高度和权重都是固定的。我怎么做?
2条答案
按热度按时间kmbjn2e31#
我的算法看起来像这样:
1.将树大小设置为已知的恒定大小。
1.从展开位置的所有子节点开始(即每个人都有
.children
而不是._children
)。1.调用
tree.nodes(root)
1.递归访问每个叶节点并确定最大
d.y
和d.x
值。1.然后,高度变为最大
d.y
乘以节点大小(圆半径)加上填充。1.然后宽度变为最大
d.x
乘以节点大小(圆半径)加上填充。1.设置新的树大小,新的SVG大小,重新调用
tree.nodes(root)
并绘制。t3psigkw2#
我也遇到了同样的问题。我所做的是根据孩子们进出的数量在
click
上更新tree.size([height,width])
。变成
}
我需要
open
属性是因为其他原因,所以也许你可以在没有这么多重复的情况下沿着。关键点是根据扩展或收缩的子元素的数量更新height
全局变量。然后,在你的update
函数中,你可以再次调用