在遵循众多D3示例的同时,数据通常采用flare.json中给出的格式进行格式化:
{
"name": "flare",
"children": [
{
"name": "analytics",
"children": [
{
"name": "cluster",
"children": [
{"name": "AgglomerativeCluster", "size": 3938},
:
Run Code Online (Sandbox Code Playgroud)
我有一个邻接列表如下:
A1 A2
A2 A3
A2 A4
Run Code Online (Sandbox Code Playgroud)
我想转换为上面的格式.目前,我在服务器端这样做,但有没有办法使用d3的功能实现这一目标?我在这里找到了一个,但这种方法似乎需要修改d3核心库,由于可维护性我不赞成.有什么建议?
我确信有一个非常简单的优雅方式来做到这一点,但我无法弄明白.我有一些看起来像这样的输入数据:
[
{id: 1, name: "Peter"},
{id: 2, name: "Paul", manager: 1},
{id: 3, name: "Mary", manager: 1},
{id: 4, name: "John", manager: 2},
{id: 5, name: "Jane", manager: 2}
]
Run Code Online (Sandbox Code Playgroud)
如果可能,我想使用d3.js嵌套操作符来获取在层次结构布局中使用的结构.像这样:
[
{name: "Peter", children: [
{name:"Paul", children: [
{name:"John"},
{name:"Jane"}
]},
{name:"Mary"}
]
}
]
Run Code Online (Sandbox Code Playgroud)