我有一个从Iot平台获取数据的实时馈送,每次收到值并将其附加到绘图时,在这种情况下,每15秒绘图更新一次,就会重置到其初始缩放级别。
有没有办法阻止图形缩小或记录缩放级别,以便在更新后重置?
设置实时馈送:
"refresh": {
"type": "feed",
"transport": "js",
"url": "feed()",
"interval": 15000
},
核对数据并添加到绘图中:
// Get new Data
window.feed = function(callback) {
// Issue a get request
$.getJSON('https://www.thingspeak.com/channels//feed.json?callback=?&offset=0&results=1', function(){})
// Upon a successful get request...
.done(function(data){
var p = []
p[0] = p[0] = getChartDate(data.feeds[0].created_at);
p[1] = parseFloat(data.feeds[0].field1);
var newData2 = [p];
// Append values to Graph
$("#myChart").appendSeriesValues({
"values": [newData2]
});
})
}
您需要通过添加以下来调整缩放对象
zoom:{
preserveZoom:true
}
preserveZoom将在图形刷新时保持其zoomLevel。或者,您可以调整订阅源刷新的时间。添加属性resetTimeout:'Number'将确定提要将重置多少值。默认值相当低(80-100)。
refresh:{
....
resetTimeout:1000, // after 1000 nodes the feed will re-start
}
我不太确定你的JSON是什么样子的,但如果你想保留滚动条,你需要一些东西。您需要在JSON 中定义缩放和滚动
scrollX:{}, // makes the scrollbar appear
scaleX:{
zooming:true, // allows for zooming
...
}
我在ZingChart团队工作。如果你需要更多的帮助,请告诉我。