【发布时间】:2013-12-09 10:03:02
【问题描述】:
我想用 d3.js 使用树形布局创建一个图表。而不是带有分层子级的常见flare json结构,例如:
{
"name":"bla",
"children":[
{
"name":"bla2",
"someattribute":"green"
}
]
}
我只有一个数组(代表时间步长的元素)。我总是希望数组的下一个元素是当前的子元素。 所以实际上我希望从扁平数组中生成一棵树。 我的想法是像这样改变树布局的子函数:
var tree = d3.layout.tree()
.children(function(d,i) {
return data[(i+1)];
})
但树中只显示一个元素。我不明白。在data[0] 上调用tree.nodes 时不应该遍历每个元素吗?
澄清我的要求:我想将[ele1, ele2, ele3] 之类的数组转换为如下所示的树形图:
ele1-->ele2-->ele3
【问题讨论】:
-
这对我来说似乎是对
.children功能的滥用——即使它在这种特殊情况下有效,它也很容易破坏其他人。我强烈建议您以使孩子更明确的方式格式化您的数据。
标签: javascript json layout d3.js tree