如何将绑定数据传递给d3中的函数?

时间:2016-08-08 12:46:40

标签: d3.js

我正在尝试按照Mike Bostock的example制作一个小的倍数图表。

此示例使用enter().append("svg")为每个数据点创建新的SVG。然后在每个SVG中创建图表。

我的CSV文件中的数据如下所示:

count, radius  
15, 5  
10, 3

根据这些数据,我想创建两个SVG(每个数据点一个),第一个包含15个圆,每个半径为5,第二个svg包含10个,每个半径为3。我有一个函数drawCircles,我想用它来绘制基于我的数据集的圆圈,但是我在将数据传递给我的函数时遇到了麻烦。

这是我的代码:

d3.csv("nations.csv", function(data) {
var svg = d3.select("body").selectAll("svg")
  .data(data)
  .enter().append("svg")
  .attr("width", width + margin.left + margin.right)
  .attr("height", height + margin.top + margin.bottom);

  drawCircles(function (d) {return +d.count;}, function (d) {return     +d.radius;}) 

我似乎无法将d.countd.radius作为参数传递给我的drawCircles函数。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

这是非常 d3ish做你想做的事的方式:

O(n)

示例here