d3.js 的家谱中有多个伴侣?

Multiple partners in a family tree in d3.js?

have a family tree from 但我正在尝试弄清楚如何调整它以支持多个合作伙伴。在这种情况下,我添加了一个 "Mistress" 节点,并试图表示 "Mistress" 和 "John" 有一个名为 "Hidden Son".

的 child

当前的数据结构是这样的:

其中,root object 存储所有内容。它有一个 children 数组,其中包含最上面的 "generation",没有 parents。它还包含一个 object,其中包含这些兄弟 objects/nodes 的 children。在上面的示例中,这是 root.children[2]

我想我必须重构数据结构的 children 并注入有关 parents 和 child 来自谁的信息。只是无法概念化这一点,以及行

结尾应该是这样的,只是小三在左边:

@medder 感谢您的赞赏!

为此,我在约翰和情妇之间添加了一个隐藏节点

并向那个隐藏节点添加了一个 child,所以看起来好像约翰和情妇有一个 child "Hidden Son" 所以 JSON 看起来像

{
    name: "Mistress",
    id: 9000,
    no_parent: true
  }, {
    name: "",//this is the new node between Mistress and John
    id: 100,
    no_parent: true,//it has no parents
    hidden: true,
    children: [{
      // so this hidden node will have a child 
      // which will make it appear as if john and mistress has a child.
      name: "Hidden Son",
      id: 9001
    }]
  }, {
    name: "John",
    id: 16,
    no_parent: true
  },

工作代码here

希望对您有所帮助!