Dygraph - 我们如何通过发送1组数据点来更新图表,而不是整个数据系列

时间:2016-12-09 10:17:19

标签: javascript charts dygraphs

我想通过发送1组数据点来更新实时数据,而不是发送整个数据系列数组,旧值应该自动删除。

1 个答案:

答案 0 :(得分:4)

这可以从图库的样本Dynamic Update

开始

更新数据系列后调用updateOptions

这里有一个片段,显示如何附加新数据并删除最旧的数据:

var data = [];
var t = new Date();
for (var i = 10; i >= 0; i--) {
    var x = new Date(t.getTime() - i * 1000);
    data.push([x, Math.random()]);
}

var g = new Dygraph(document.getElementById("graph"), data, {height:200});

window.setInterval(function() {
        var x = new Date(); 
        var y = Math.random();
        data.shift();
        data.push([x, y]);
        g.updateOptions( { 'file': data } );
      }, 1000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/dygraph/1.1.1/dygraph-combined.js"></script>
<div id="graph" />