我有一个实时提要,从 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通过添加以下对象
zoom:{
preserveZoom:true
}
preserveZoom 将在刷新时保持图表上的 zoomLevel。或者,您可以调整提要的刷新时间。添加属性 resetTimeout:'Number' 将确定在多少个值后 feed 将被重置。默认值相当低 (80-100)。
refresh:{
....
resetTimeout:1000, // after 1000 nodes the feed will re-start
}
我不太确定您的 JSON 是什么样子,但如果您想保留滚动条,您将需要几样东西。你需要 zooming和 scrolling在你的 JSON 中定义
scrollX:{}, // makes the scrollbar appear
scaleX:{
zooming:true, // allows for zooming
...
}
我在 ZingChart 团队工作。如果您需要更多帮助,请告诉我。
关于javascript - ZingChart - 如何在实时提要中附加值时保持缩放级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36939373/