在D3.js中绑定到Object的内容是什么

时间:2013-05-15 02:35:28

标签: javascript d3.js

我正在尝试了解this exampleD3.js代码,并对此代码感到困惑:

var circle = interpolation.selectAll("circle")
    .data(Object);
circle.enter().append("circle")
    .attr("r", 4)
    .attr("fill","yellow");
circle
    .attr("cx", function y(d) { console.log(d.attr("class")); return d.x; })
    .attr("cy", function(d) { return d.y; });

此代码的第二行实际上做了什么?它绑定的数据是什么?

1 个答案:

答案 0 :(得分:6)

上面元素中绑定的数据由函数getLevels(d, t)给出,其中d是范围2 - 4和t的数字是从当前时间派生的数字

这只返回一个数组数组。因为数组是already of type Object,所以在数组上调用Object()会返回原始数组。因此,从我所看到的,作者只是使用Object作为一种身份函数,类似于:

var identity = function(d){
  return d;
}

var circle = interpolation.selectAll("circle")
    .data(identity);
circle.enter().append("circle")
    .attr("r", 4)
    .attr("fill","yellow");
circle
    .attr("cx", function y(d) { console.log(d.attr("class")); return d.x; })
    .attr("cy", function(d) { return d.y; });