2017-12-24 3 views
0

Ich versuche, einen Datensatz in eine chartJS Liniendiagramm zu zeichnen:konnte nicht JSON plotten chartJS

Dies ist meine Daten:

[{"close":0.00786609},{"close":0.00784},{"close":0.00784}, 
{"close":0.00780507},{"close":0.007816},{"close":0.00781599}, 
{"close":0.00780166},{"close":0.00778403},{"close":0.00782001}, 
{"close":0.0078},{"close":0.00778},{"close":0.007799}, 
{"close":0.00775057},{"close":0.0077688},{"close":0.00775001}] 

Dies ist mein Code:

var ctx = document.getElementById('myChart').getContext('2d'); 
var chart = new Chart(ctx, { 
    // The type of chart we want to create 
    type: 'line', 

    // The data for our dataset 
    data: { 

     datasets: [{ 
      label: "My First dataset", 
      backgroundColor: 'rgb(255, 99, 132)', 
      borderColor: 'rgb(255, 99, 132)', 
      data: <%= JSON.stringify(prices) %>, 
     }] 
    }, 

    // Configuration options go here 
    options: {} 
}); 

Wie kann ich das beheben?

Antwort

1

Sie haben Ihr Diagramm so konfiguriert, dass es vom Typ "Linie" ist. Die documentation für diesen Typ gibt an, dass die data eines Datasets ein Array von Zahlen oder ein Array von Punkten sein kann, wobei ein Point ein Objekt mit einer x-Eigenschaft und einer y-Eigenschaft ist.

Ihre data ist eine JSON-Array-Array von Objekten mit jeweils einer close Eigenschaft.

Sie müssen Ihre prices Array in ein Array von Zahlen zuordnen. In JavaScript, könnte dies geschehen, wie:

prices.map(function (price) { 
    return price.close; 
}); 

ich ein fiddle als ein Beispiel geschaffen haben.