2016-05-14 6 views
0

Ich habe Probleme zu verstehen, warum mein Code nicht funktioniert.Zugriff auf Daten im var-Format für D3

Ich erhalte eine Fehlermeldung auf .attr('r', function(d)

Ich bin eine Nummer year zuweisen und eine variable category durch Zugabe von d.p und year genannt zu schaffen. Der Name jeder Datenkategorie in meiner CSV-Datei ist p1900, p1901, p1902, p1903 usw. Und ich versuche, in .attr('r', function(d) darauf zuzugreifen, aber es scheint nicht zu registrieren.

cityPoints.attr('cx', function(d) {return projection([d.lon, d.lat])[0]}) 
     .attr('cy', function(d) {return projection([d.lon, d.lat])[1]}) 
     .attr('r', function(d) { 

     var category = "d.p"+year; 
      if (scale(category) != null) {return scale(category) + 'px'} 
      else {return '0px'}; 
      ;}) 
     .attr('stroke', 'white'); 

Antwort

0

Sie sind nicht tatsächlich den Zugriff auf das d Objekt, nur an einer Schnur arbeiten d.p1900 stattdessen genannt.

Versuch dies zu tun:

cityPoints.attr('cx', function(d) {return projection([d.lon, d.lat])[0]}) 
    .attr('cy', function(d) {return projection([d.lon, d.lat])[1]}) 
    .attr('r', function(d) { 

     var category = "p" + year; 
     if (scale(d[category]) != null) { 
      return scale(d[category]) + 'px'; 
     } else { return '0px' }; 

    }).attr('stroke', 'white'); 
+0

wow <3 thank you so much !!! Es klappt :) –