如何使用内部数据而不是外部csv文件创建d3气泡图

时间:2017-04-15 12:11:27

标签: d3.js

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);
        }
         });

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);
        }
      });