使用D3.js了解CSV到气泡图的问题

时间:2014-08-22 15:05:45

标签: javascript csv d3.js

所以我一直在拿起D3.js来查看我的一些数据,我需要一些帮助来理解为什么会发生某些事情。

我从this example on the D3 site获取代码,并将其修改为从平面CSV而不是拼合的JSON文件中读取。这是它的样子:

d3.csv("top-brands.csv", function(csvData) {

  var data = { name: "brand", children: csvData };

  var node = svg.data([data]).selectAll(".node")
        .data(pack.nodes)
      .enter().append("g")
        .attr("class", "node")
        .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })

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

    node.append("circle")
        .attr("r", function(d) { return d.r; })
        .style("fill", function(d) { return color(d.brand); });

    node.append("text")
        .attr("dy", ".3em")
        .style("text-anchor", "middle")
        .text(function(d) { return d.brand; });
});

它似乎工作得很好,从某种意义上说,我的气泡都得到了正确的数据,但有两个不断出现的问题不断出现:

  1. 它不断绘制一个包围其他圆圈的大圆圈。它似乎与画布允许的一样大(480px×480px),但我不知道如何让它消失。是因为我的数据处理方式?

  2. 如果我尝试用" d.brand"无论如何,它会告诉我d.brand是未定义的。如果长度太长,D3网站上的示例将获取标题并获取子字符串,但我似乎无法做到这一点。是因为我提取数据的方式吗?

  3. 感谢任何帮助!我无法真正提供示例CSV,因为它是专有数据,但它只有三列:品牌,数量和比例,它是一个字符串,一个int和一个浮点数(百分比)以该顺序。我认为虚拟数据可以正常工作。

    非常感谢!

0 个答案:

没有答案