Каждый D3js beginner должен пройти эту мысль, я в этом очень уверен.
Я обошел эту штуку в течение нескольких часов сейчас!!!! Но я не знаю, как ее использовать и что такое разница между ними?
function(d){return d}
function(d,i){return d and some more custom code}
для примера --- >
var data = [4, 8, 15, 16, 23, 42];
Function(d):::::
chart.selectAll("div")
.data(data)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
------------------------------------------------------------------------------------
Function(d*i):::::
chart.selectAll("rect")
.data(data)
.enter().append("rect")
.attr("y", function(d, i) { return i * 20; })
.attr("width", x)
.attr("height", 20);