2017-03-05 25 views
1

我正在使用d3创建组织结构图,其中有一些节点的名称较长。在d3树节点上设置变量宽度

我已经设法修改较长节点的宽度,但在正确放置子节点和线条(路径)给子节点时遇到了问题。 我试着用determineChildXValue()来计算自己,但那不能正常工作。

有没有办法用变量宽度来初始化树,所以它会处理子节点的转换计算?

目前,我用硬编码节点大小对其进行初始化:

var tree = d3.layout.tree().nodeSize([70, 40]); 

我复制的行为this example - 扩大部门,然后百货看到的重叠。

在此先感谢!

回答

0

我咨询了一位同事谁是能够建立一个正确的解决办法:

  • 定义sourcetarget特性(projection设置前)对角线(路径)
  • 轨道的tierDisplacementXcumulativeDisplacementX
    • 翻译子节点的位置及其路径时使用这些

请参阅this fiddle以查看工作代码。