GoJS Genogram,按自定义更改节点顺序

时间:2016-07-22 11:01:55

标签: javascript gojs

在例子中 GoJS Genogram

我只知道如何自定义节点形状,链接样式和视图。但是我无法弄清楚我怎么能参与节点的制作顺序,例如:我为所有家庭添加了一个关于年龄的属性,并且想要在gojs绘图时按同一年龄按年龄排序。

这是 My Example

如何将旧家庭自动更改为左,我认为关键顺序可以解决我的问题,但实际上关键是没有任何帮助。

离。哥哥 - >订购姐姐 - >我 - >年轻...... - >年轻...

以下是我主要从GoJS Genogram Example修改的内容。

[
  { key: 0, n: "Father", s: "M", ux: 1, a: ["C", "F", "K", "X"] },
  { key: 1, n: "Mother", s: "F", a: ["B", "H", "K", "X"] },
  { key: 4, n: "Me", s: "M", m: 1, f: 0, ux: 5, a: ["ME"] },
  { key: 5, n: "Wife", s: "F", vir: 5, a: ["C"] },
  { key: 2, n: "Old Brother", s: "M", m: 1, f: 0, a: ["E", "H", "X"] },
  { key: 3, n: "Old Sister", s: "F", m: 1, f: 0, a: ["B", "H", "L"] },
  { key: 6, n: "Young Sister", s: "F", m: 1, f: 0, a: ["C"] },
  { key: 7, n: "Young Brother", s: "M", m: 1, f: 0, a: ["C", "I"] },
  { key: 8, n: "Son", s: "M", m: 4, f: 5, vir: 9, a: ["E"] },
  { key: 9, n: "Son's wife", s: "F", vir: 8, a: ["B", "H"] },
  { key: 10, n: "Daughter", s: "M", m: 4, f: 5, a: ["E", "G"] },
  { key: 11, n: "Daughter's husband", s: "F", vir: 10, a: ["B", "J"] },
  { key: 12, n: "grandson", s: "F", m: 8, f: 9, a: ["J"] },
  { key: 13, n: "grand daughter", s: "M", m: 8, f: 9, a: ["B", "H"] },
  { key: 14, n: "grandson", s: "F", m: 10, f: 11, a: ["E", "G"] },
  { key: 15, n: "grand daughter", s: "M", m: 10, f: 11, a: ["F", "H"] },
]

1 个答案:

答案 0 :(得分:0)

你要求的是将所有同一代人混合在一起,以便按年龄排序,即使他们属于不同的父母。

GenogramLayout目前是通过 LayeredDigraphLayout 实现的,并且实际上是继承的,它旨在重新排序节点以减少链接交叉。它不支持每层中所有节点的排序,这将导致大量的交叉链接。

对不起。