Я использовал d3.tree для рендеринга генеалогического дерева, как в этом js fiddle . Но узлы в этом дереве добавляются в дыхании первым способом (их порядок добавления помечается знаком / и их например: "/ 13") поэтому мой вопрос таков:
Есть ли способ сделать генеалогическое дерево d3 сверху вниз или снизу вверх?
как ксав спросил, что я имел в виду под дыханием:
Я хотел сказать, что узлы, имеющие одинаковую глубину, добавляются первыми, в то время как дочерние узлы, имеющие большую глубину, добавляются позже (их порядок добавления обозначается, например, "/ append_order" /13"). Так, когда у некоторых родителей больше дети, они приходят под своими братьями и сестрами дети (посмотрите на детей "Ls" и "LSH" в последнем слое). Так что, если есть какой-то способ, где дети добавляются сразу после своих родителей и перед их родными братьями и сестрами, так что это может привести к братья и сестры этих родителей движутся в сторону по мере увеличения числа детей. В основном подход сверху вниз или снизу вверх
это структура данных, которую я использовал:
var root_13=
{
name: "",
id: 1,
hidden: true,
no_parent: true,
children:
[{
name: "LF",
id: 16,
no_parent: true,
status:"M",
gender:"Male"
},{
name: "",
id: 2,
no_parent: true,
hidden: true,
children: [
{
name: "LS",
id: 139,
status:"M",
gender:"Female"
},{
name: "",
id: 128,
status:"M",
no_parent: true,
hidden:true,
children: [{
name: "LS child1",
id: 128,
status:"M",
no_parent: false,
hidden:false,
children: []
},{
name: "",
id: 1289,
status:"M",
no_parent: true,
hidden:true,
children: []
},{
name: "child1 part",
id: 1281,
status:"M",
no_parent: true,
hidden:false,
children: []
},{
name: "child 2",
id: 1289,
status:"M",
no_parent: false,
hidden:false,
children: []
},{
name: "",
id: 1280,
status:"M",
no_parent: true,
hidden:true,
children: []
},{
name: "child 2 part",
id: 12891,
status:"M",
no_parent: true,
hidden:false,
children: []
},{
name: "child 3",
id: 12891,
status:"M",
no_parent: false,
hidden:false,
children: []
},{
name: "",
id: 12891,
status:"M",
no_parent: true,
hidden: true,
children: []
},{
name: "child 3",
id: 12891,
status:"M",
no_parent: true,
hidden:false,
children: []
}]
},{
name: "LSH",
id: 138,
status:"M",
gender:"Male",
no_parent:true
},{
name: "L",
id: 13,
status:"M",
gender:"Male"
},{
name: "",
id: 122,
status:"M",
no_parent: true,
hidden:true,
children: []
},{
name: "J",
id: 12,
status:"M",
no_parent: true,
gender:"Female"
},{
name: "JS",
id: 125,
status:"M",
no_parent: false,
gender:"Female"
},{
name: "",
id: 12,
status:"M",
no_parent: true,
hidden: true,
gender:"Female"
},{
name: "JP",
id: 12,
status:"M",
no_parent: true,
gender:"Female"
}]
},
{
name: "LM",
id: 10,
no_parent: true,
status:"M",
gender:"Female",
children: []
}
]
}