我正在尝试使用 Rickshaw 创建一个很好的占位符图表,显示随机数据的实时更新,如下所示:
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);
这有效,除了注释掉的部分。事实上,它不断添加数据,这意味着图表变得越来越拥挤。我希望每次在末尾添加一个新项目时都能够删除第一个项目,以保持图形具有相同数量的数据点,但是当我将该代码快速放入其中时会导致图形不显示任何数据,即使console.log
显示数组仍然充满数据。
我怎样才能使这项工作,以便我一次只显示固定数量的数据点?