Ich versuche Rikscha zu verwenden, um einen schönen Platzhalter Diagramm zu erstellen, die Live-Aktualisierung mit zufälligen Daten zeigt, etwa so:Live-Aktualisierung Rikscha Graph
var series = [[], []];
var random = new Rickshaw.Fixtures.RandomData(150);
for(var i = 0; i < 80; i++) {
random.addData(series);
}
var throughput = new Rickshaw.Graph({
element: document.querySelector("#throughput_chart"),
width: "300",
height: "200",
renderer: "line",
series: [{
color: "gold",
data: series[0]
}]
});
var alerts = new Rickshaw.Graph({
element: document.querySelector("#alerts_chart"),
width: "300",
height: "200",
renderer: "line",
series: [{
color: "red",
data: series[1]
}]
});
throughput.render();
alerts.render();
setInterval(function() {
random.addData(series);
throughput.update();
alerts.update();
/* XXX: This causes the data to stop drawing properly
series.forEach(function(s) {
s.shift();
});
*/
}, 1000);
Dies funktioniert, mit Ausnahme des auf Kommentar Teil. So fügt es immer neue Daten hinzu, was bedeutet, dass der Graph immer enger wird. Ich möchte in der Lage sein, das erste Element jedes Mal zu entfernen, wenn ich am Ende ein neues Element hinzufüge, um den Graphen mit der gleichen Anzahl von Datenpunkten zu erhalten, aber wenn ich diesen Code einfüge, verursacht das schnell den Graphen um alle Daten anzuzeigen, obwohl console.log
zeigt, dass das Array immer noch voll von Daten ist.
Wie kann ich das machen, so dass ich nur eine feste Anzahl von Datenpunkten gleichzeitig anzeigen kann?
so das Geheimnis ist series.addData() es scheint –