在d3 4.0中,如何从分层对象中获取额外数据?

时间:2016-06-29 16:30:26

标签: d3.js

我是D3的新手也是stackoverflow,并且有一些问题。

[
{"id": "1",  "name": "Eve",         "parent": "" , "txt": "text1."},
{"id": "2",  "name": "Cain",        "parent": "1", "txt": "text2."},
{"id": "3",  "name": "Seth",        "parent": "1", "txt": "text3."},
{"id": "4",  "name": "Enos",        "parent": "3", "txt": "text4."},
{"id": "5",  "name": "Noam",        "parent": "3", "txt": "text5."},
{"id": "6",  "name": "Abel",        "parent": "1", "txt": "text6."},
{"id": "7",  "name": "Awan",        "parent": "1", "txt": "text7."},
{"id": "8",  "name": "Enoch",       "parent": "7", "txt": "text8."},
{"id": "9",  "name": "Azura",       "parent": "1", "txt": "text9."}
];

上面是尚未分层的数组对象。

下面是分层结果和代码。

var stratify = d3.stratify()
              .id(function(d){ return d.id; })
              .parentId(function(d){ return d.parent; });

stratified object

我想使用数据对象,如下面的代码

node.append("text")
  .text(function(d) { return d.name; });

但是,上面没有用。

参考https://github.com/d3/d3-hierarchy/blob/master/README.md#stratify 我稍微编辑了数组对象。

谢谢&最好的祝福。如果你能给我一个反馈,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

最后,我找到了答案。

return d.data.name

多么令人尴尬的业余事物......