GoJS基因图谱,自定义更改节点顺序

GoJS Genogram, Change node order by custom

本文关键字:节点 顺序 自定义 GoJS      更新时间:2023-09-26

在GoJS基因图谱

我只知道如何自定义节点形状、链接样式和视图。但我不知道我该如何参与节点的排序,比如:我为所有家庭添加了一个关于年龄的属性,并希望在gojs绘图时按同一代的年龄排序。

这是我的示例

我怎么能自动将年长的家庭改为左边,我以为钥匙顺序可以解决我的问题,但实际上钥匙对任何事情都没有帮助。

前任。哥哥->订姐姐->我->年轻…->幼小的

以下是我主要从GoJS基因组图示例中修改的内容。

[
  { 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"] },
]

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

GenogramLayout目前是用LayeredDigraphLayout实现的(实际上是从中继承的),该布局旨在重新排序节点,以减少链路交叉。它不支持对每层中的所有节点进行排序,这将导致大量的交叉链路。

对不起。