【问题标题】:Setting variable width on d3 tree nodes在 d3 树节点上设置可变宽度
【发布时间】:2017-03-21 01:39:08
【问题描述】:

我正在使用 d3 创建一个组织结构图,其中包含一些名称较长的节点。

我已经设法修改了较长节点的宽度,但无法正确放置它们的子节点和它们的子节点的线(路径)。 我尝试用determineChildXValue() 计算自己,但这并不能正常工作。

有没有办法用可变宽度初始化树,以便它负责计算子节点的平移?

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

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

我已经复制了 this example 中的行为 - 展开 Departments,然后展开 DEPARTMENT STORE 以查看重叠。

提前致谢!

【问题讨论】:

    标签: javascript d3.js


    【解决方案1】:

    我咨询了一位能够构建适当修复程序的同事:

    • 为对角线(路径)定义sourcetarget 属性(在设置projection 之前)
    • 跟踪tierDisplacementXcumulativeDisplacementX
      • 在转换子节点的位置及其路径时使用这些

    查看this fiddle 以查看工作代码。

    【讨论】:

      猜你喜欢
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多