d3.tree 滚动条而不是平移

d3.tree scrollbar instead of panning

我有一个树宽d3.js。当树溢出 svg 时,它是隐藏的,我可以通过在树上平移来查看隐藏的部分。有没有办法为查看隐藏部分添加滚动条而不是平移? 例如在这个示例中 http://bl.ocks.org/robschmuecker/7880033 I want to add scroll bar to this tree. this sample is not what I want: https://bl.ocks.org/CrandellWS/ca7e6626c9e6b1413963 因为在此示例中,当我们折叠节点时,滚动条大小不会改变。

您可以使用 svg.getBBox() 获取 svg 边界框,其中 svg 是您的 svg 节点,例如

let svg = document.getElementsByTagName("svg")[0];
let box = svg.getBBox()

然后使用box.x.y.width.height计算正确的viewBox属性值、宽度和高度。