0

我正在使用类似于http://mbostock.github.io/d3/talk/20111018/tree.html的树布局和代码

我将其修改为自上而下的方向。随着每个节点的打开/扩展,其他打开的节点会压缩以适应 SVG 元素中的所有内容。有可能防止这种情况吗?我认为修改每个节点的 x 组件将是一种方法,但无法实现。节点移动了,但仍被压缩在一起。

还想知道如何将连接线从贝塞尔曲线更改为直角/直线。也许需要一个单独的问题。

4

1 回答 1

0

压缩在树布局中是自动的(以及它的一部分)。没有办法关闭它。但是,您可以简单地使您的 SVG 大到足以包含整个展开的树而无需压缩。请注意,这意味着除非您的屏幕足够大,否则即使可见的所有内容都适合屏幕,也会显示滚动条。

连接节点的链接是使用示例中的对角线生成器生成的。原则上,您可以将其替换为任何其他线生成器(例如d3.svg.line),但实际上需要进行一些更改,因为对角线生成器以特殊方式访问源节点和目标节点。对于法线生成器,您需要将此结构转换为二元素数组,并为每个元素指定如何访问 x/y 坐标。然后你可以使用任何插值来获得你想要的曲线。

于 2013-09-26T20:23:44.263 回答