我正在尝试根据this example创建可折叠树。我的数据包含约350,000行。我将数据转换为JSON文件,当我使用几行测试脚本时,一切都按预期运行。
但是,如果我使用整个文件,则会收到错误消息: 未捕获的错误:模棱两可:分配属性,它会将输入数据分层并形成层次结构。 我的代码与示例非常相似,但是我正在从JSON文件读取,而示例将对象数组分配给变量。我在下面给出了代码段。
d3.json("fields_of_study_with_names.json", function(error, inputdata) {
if (error) throw error;
console.log(inputdata);
var treeData = d3.stratify()
.id(function(d) { return d.child; })
.parentId(function(d) { return d.parent; })
(inputdata);
// assign the name to each node
treeData.each(function(d) {
d.name = d.data.child;
});
...
我做了一些预处理,并删除了包含NaN和重复行的行(我认为重复行会导致此错误)。我可以看到代码工作正常(当我检查了一个较小的文件时),因此输入数据显然是一个问题。但是我不明白错误的含义。 有人可以帮我吗?
PS:经过预处理后,我的数据是这样的。层次结构由6个级别组成,最高级别为“根”。
[
{
"child": "root",
"parent": ""
},
{
"child": "Geology",
"parent": "root"
},
{
"child": "Art",
"parent": "root"
},
...
]