在d3.js中从csv创建层次结构

use*_*231 6 javascript d3.js

我有一个包含以下数据的csv:

world,country,state

World,US,CA

World,US,NJ

World,INDIA,OR

World,INDIA,AP

World,INDIA,TN
Run Code Online (Sandbox Code Playgroud)

我需要转换为树层次结构,如下所示:

{

    "name": "World",
    "children": [
      { "name": "US",
          "children": [
           { "name": "CA" },
           { "name": "NJ" }
         ]
      },
      { "name": "INDIA",
          "children": [
          { "name": "OR" },
          { "name": "TN" },
          { "name": "AP" }
         ]
      }
 ]
};
Run Code Online (Sandbox Code Playgroud)

然后,此树将用于树可视化.任何人都可以帮忙吗?

Pho*_*beB 5

d3.nest是你的朋友!

查看D3的Nest文档:https://github.com/d3/d3-collection/blob/master/README.md#nests

这是我在学习使用nest时写的一些例子:https://gist.github.com/3176159

这个问题也有帮助: D3:使用嵌套函数将父键的平面数据转换为层次结构

  • 非常感谢你.它帮助了很多.还有一个问题:我们可以更改由d3.nset()形成的层次结构的标记在您的示例中,您将"key"和"values"作为标记,因为我希望将我的标记设置为"name"和"children" .知道如何做到这一点? (2认同)