我在閱讀D3.js文檔,發現很難從文檔中瞭解the selection.data
method。瞭解D3.js如何將數據綁定到節點
這是示例代碼的文檔中給出:
var matrix = [
[11975, 5871, 8916, 2868],
[ 1951, 10048, 2060, 6171],
[ 8010, 16145, 8090, 8045],
[ 1013, 990, 940, 6907]
];
var tr = d3.select("body").append("table").selectAll("tr")
.data(matrix)
.enter().append("tr");
var td = tr.selectAll("td")
.data(function(d) { return d; })
.enter().append("td")
.text(function(d) { return d; });
我明白這個最,但什麼是與var td
聲明.data(function(d) { return d; })
部分回事?
我最好的猜測如下:
- 的
var tr
語句已結合的四元件陣列的每個TR節點 - 的
var td
語句然後使用該四元件陣列作爲其數據,不知何故
但是.data(function(d) { return d; })
實際上是如何獲取這些數據的,它會返回什麼?
這可能有助於閱讀[本教程](http://bost.ocks.org/mike/join/)。 – Phrogz 2012-02-29 05:27:47
謝謝!我現在明白代碼中的'.enter()'部分是怎麼回事。不過,我想我可能需要等待將來的教程才能理解數據鍵功能正在發生什麼。 – Richard 2012-02-29 11:57:15
我希望能儘快撰寫一篇新的教程,其中涵蓋了關鍵功能以及分層選擇(selectAll.selectAll)。 – mbostock 2012-03-01 03:29:55