Verstehen, wie D3.js Daten an Knoten bindet

Ich bin durch die Lektüre D3.js Dokumentation, und finde es schwer zu verstehen, die Auswahl.data Methode aus der Dokumentation.

Dies ist der Beispiel-code in der Dokumentation:

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; });

Ich verstehe die meisten, aber was ist Los mit den .data(function(d) { return d; }) Abschnitt der var td Aussage?

Meine beste Vermutung ist wie folgt:

  • Die var tr Anweisung gebunden hat, um eine vier-element-array für jeden Knoten tr
  • Die var td - Anweisung verwendet dann, dass die vier-element-array als Daten, die irgendwie

Aber wie funktioniert .data(function(d) { return d; }) eigentlich an diese Daten kommen, und was braucht es dafür?

InformationsquelleAutor der Frage Richard | 2012-02-28

Schreibe einen Kommentar