Estoy leyendo la documentación de D3.js y me es difícil comprender the selection.data
method de la documentación.Comprender cómo D3.js vincula los datos a los nodos
Este es el código de ejemplo que se da en la documentación:
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; });
entiendo la mayor parte de esto, pero lo que está pasando con la sección .data(function(d) { return d; })
de la declaración var td
?
Mi mejor conjetura es como sigue:
- La declaración
var tr
ha atado una matriz de cuatro elementos a cada nodo tr - La declaración
var td
utiliza entonces ese conjunto de cuatro elementos como sus datos, de alguna manera
¿Pero cómo obtiene .data(function(d) { return d; })
realmente esa información y qué devuelve?
Puede ser útil leer [este tutorial] (http://bost.ocks.org/mike/join/). – Phrogz
¡Gracias! Ahora entiendo lo que está pasando con las partes '.enter()' del código. Sin embargo, creo que podría necesitar esperar el futuro tutorial para comprender qué está pasando con la función de clave de datos. – Richard
Espero escribir pronto un nuevo tutorial que cubra la función clave y también las selecciones jerárquicas (selectAll.selectAll). – mbostock