d3.js 使用节点和边的数组创建d3层次

fzsnzjdm  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(233)

我一直在尝试使用d3-hierachy创建一个树,我不得不使用d3-hierachy,因为我正在使用的库使用了该结构。我正在使用的API返回如下响应:

{
"Nodes": [
    {
        "Name": "node-1",
        "Type": "Model"
    },
    {
        "Name": "node-2",
        "Type": "Job"
    },
    {
        "Name": "node-3",
        "Type": "Data"
    },
    {
        "Name": "node-4",
        "Type": "Data"
    },
],
"Edges": [
    {
        "Source": "node-4",
        "Destination": "node-2"
    },
    {
        "Source": "node-3",
        "Destination": "node-2"
    },
    {
        "Source": "node-2",
        "Destination": "node-1"
    },
]}

我尝试得到一个如下的输出,它可以和d3-hierarchy一起使用:

[
 {
   Name: 'node-1',
   Type: 'Model',
   children: [
       {
         Name: 'node-2',
         Type: 'Job',
         children: [
             {
                 Name: 'node-3',
                 Type: 'Data'
             },
             {
                 Name: 'node-4',
                 Type: 'Data'
             },
         ]
       },
   ]
 }
]

如有任何帮助,我们将不胜感激!

5hcedyr0

5hcedyr01#

首先,我按节点名称分组,以方便访问。然后,我构建连接(作为父子连接)。就这样。我有了图和所有可能的入口点。我选择第一个,因为它希望是树的根。
第一个

相关问题