Несколько партнеров в генеалогическом древе в d3.js?
I имеет генеалогическое древо от Кирилл удивительный ответ, но я пытаясь понять, как настроить его для поддержки нескольких партнеров. В этом случае я добавил "Mistress" node и пытаюсь обозначить, что у "Mistress" и "John" был ребенок с именем "Скрытый сын".
Текущая структура данных работает следующим образом:
![введите описание изображения здесь]()
В этом случае объект root
хранит все. Он имеет массив children
, который содержит большинство "поколений" без родителей. Он также содержит объект, содержащий дочерние элементы этих узлов/узлов. В приведенном выше примере это root.children[2]
.
Я думаю, что мне пришлось бы реорганизовать структуру данных children
и ввести информацию о том, кто из родителей, из которых родился ребенок. Просто имея проблемы с концептуализацией этого, а также с линией
В конце было бы что-то вроде этого, кроме любовницы было бы с левой стороны:
![введите описание изображения здесь]()
Ответы
Ответ 1
@спасибо за благодарность!
Для этого я добавил скрытый node между john и любовницей.
И добавил ребенка к этому скрытому node, поэтому кажется, что у john и любовницы есть ребенок "Скрытый сын",
Таким образом, 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
},
Рабочий код здесь
Надеюсь, это поможет!