https://bl.ocks.org/mbostock/4063269
我使用与上述示例中相同的数据,但是当我尝试使用foreach循环传递该数据时,它无法正常工作。我的输入数据存储在名为data的对象中。我收到以下错误。有人可以帮帮我吗???这是一个请求。
csv_converter.html:70未捕获的TypeError:无法读取属性' split'在SVGTextElement中未定义.....
data.forEach(function(d){
classes=d;
d.value = +d.value;
if (d.value) return d.value;
var root = d3.hierarchy({children: classes})
.sum(function(d) {if(d.value>0 && d.value!=null && d.value!=""){return d.value}})
.each(function(d) {
if (id = d.id) {
var id, i = id.lastIndexOf(".");
d.id = id;
d.package = id.slice(0, i);
console.log(d.package);
d.class = id.slice(i + 1);
}
});
答案 0 :(得分:0)
我改变了我的代码,工作正常。
classes=data;
data.forEach( function(d) {
d.value = +d.value;
});
var root = d3.hierarchy({children: classes})
.sum(function(d) { if(d.value>0){return d.value}; })
.each(function(d) {
if (id = d.data.id) {
var id, i = id.lastIndexOf(".");
d.id = id;
d.package = id.slice(0, i);
//console.log(d.package);
d.class = id.slice(i + 1);
}
});