javascript – ZingChart – 如何在实时Feed中追加值时保持缩放级别

我有一个实时的数据从Iot平台获取数据,每次接收到一个值并附加到绘图中,在这种情况下,每15秒,绘图在更新时重置为其初始缩放级别.

有没有办法停止图表缩小或记录缩放级别,以便在更新后重置?

设置实时Feed

      "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是什么样的,但是如果你想保留滚动条,你需要做几件事.您需要在JSON中定义zoomingscrolling

scrollX:{},// makes the scrollbar appear
scaleX:{
    zooming:true,// allows for zooming
    ...
}

我在ZingChart团队工作.如果您需要更多帮助,请与我们联系.

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面