создать семейное древо D3 js сверху вниз / снизу вверх - PullRequest
0 голосов
/ 30 августа 2018

Я использовал 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: []
        }
        ]
    }
...