首先,爲了簡化,這
var selection = d3.select("#container").selectAll("div")
.data(newData); // <- D
就像是(通過setInterval的)寫
var arrayOfFunctions = newData();
var selection = d3.select("#container").selectAll("div")
.data(arrayOfFunctions); // <- D
因此,例如,調用此代碼3倍建立起arrayOfFunctions
這樣的:
arrayOfFunctions = [
function (x) { return 15 + x * x; },
function (x) { return 15 + x * x; },
function (x) { return 15 + x * x; }
]
(注:這是不是真的這樣,因爲實際上它們只是指向相同功能的指針next
)
因此沒有關於增量x
。但一旦它結合DOM元素(這些功能通過data(arrayOfFunctions)
和貫穿該位:
selection.attr("class", "v-bar")
.style("height", function (d, i) {
return d(i) + "px"; // <- E
})
d
是function (x) { return 15 + x * x; }
和i
(其爲0,1或2)被傳遞作爲x
到該函數時,它呼籲d(i)
而這正是實質上增加x
完美 - 從d(I)我被路由到X在未來定義的函數感謝 – 2014-12-05 00:06:24