Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
制作嵌套JSON Javascript_Javascript_Json_D3.js_Visualization - Fatal编程技术网

制作嵌套JSON Javascript

制作嵌套JSON Javascript,javascript,json,d3.js,visualization,Javascript,Json,D3.js,Visualization,我正在尝试为sunburst图表创建嵌套JSON,但是遇到了一些麻烦。正如您在下面的小提琴中看到的,共享父名称的子项并没有应用于所有内容?我希望无虚拟对象具有与虚拟父对象相同的属性。然而,因为他们是同一个名字,我遇到了一个问题 有没有办法检查树的根是否相同?这样一来,它每次都会不同,但是它会变得越来越嵌套,并且这些名称的选择是相同的 有一个d3.nest,它让你的生活比这容易多了 这是一个非常有用的工具,可以帮助您习惯嵌套: 否则,请在此处阅读: 祝你好运 Kim我不确定这是否更容易,因为

我正在尝试为sunburst图表创建嵌套JSON,但是遇到了一些麻烦。正如您在下面的小提琴中看到的,共享父名称的子项并没有应用于所有内容?我希望无虚拟对象具有与虚拟父对象相同的属性。然而,因为他们是同一个名字,我遇到了一个问题

有没有办法检查树的根是否相同?这样一来,它每次都会不同,但是它会变得越来越嵌套,并且这些名称的选择是相同的


有一个d3.nest,它让你的生活比这容易多了

这是一个非常有用的工具,可以帮助您习惯嵌套:

否则,请在此处阅读:

祝你好运


Kim

我不确定这是否更容易,因为我正在尝试为sunburst D3可视化制作JSON,它需要在不同的时间按不同的内容分组?
 // create a name: node map
var dataMap = data.reduce(function(map, node) {
map[node.name] = node;
return map;
}, {});

 // create the tree array
 var tree = [];
data.forEach(function(node) {
// add to parent
var parent = dataMap[node.parent];
if (parent) {
    // create child array if it doesn't exist
    (parent.children || (parent.children = []))
        // add node to child array
        .push(node);
} else {
    // parent is null or missing
    tree.push(node);
}
 });

 // show what we've got
 d3.select('body').append('pre')
     .text(JSON.stringify(tree, null, '  '));