我想通过发送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" />