2017-06-27 1 views
0

Lorsque j'exécute ce code je recevrai une erreur, cette erreur est: Errord3.stack(), ne peut pas lire la propriété « 1 » undefined

Je ne suis pas vraiment familier avec la fonction d3.stack() , donc je ne sais pas comment le déboguer. Y a-t-il un correctif pour cette erreur?

Ceci est le fichier console.log() de filter_data: filtered_data. Chacun des objets se compose des mêmes cinq arrondissements de New York.

<script src="https://d3js.org/d3.v4.min.js"></script> 

    <script> 
    d3.csv("Air_Quality.csv", function (airquality_data) { 

    var variabelen = ["PM2.5-Attributable Deaths ", "O3-Attributable Asthma ED Visits", "O3-Attributable Asthma Hospitalizations "]; 
    var filtered_data = {}; 
    for (j = 0; j < variabelen.length; j++) { 
    var variable = variabelen[j] 
    var data = {}; 
    for (var i = 0; i < airquality_data.length; i++) { 
     if (airquality_data[i].name == variabelen[j] && airquality_data[i].geo_type_name == "Borough" && airquality_data[i].year_description == "2005-2007") { 
     var key = airquality_data[i].geo_entity_name; 
     var value = airquality_data[i].data_valuemessage; 
     data[key] = value; 
    } 
} 
    filtered_data[variable] = data; 


    var stack = d3.stack() 
     .keys("Bronx", "Brooklyn", "Staten Island", "Queens", "Manhattan") 
     .order(d3.stackOrderNone) 
     .offset(d3.stackOffsetNone); 

    var series = stack(filtered_data); 

    console.log(series); 

}); 

Répondre

0

solution avait été trouvée, a oublié d'ajouter entre parenthèses dans .keys() et a dû modifier légèrement filtered_data.