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

col*_*sey 5 javascript charts zingchart

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

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

设置实时Feed:

      "refresh": {
        "type": "feed",
        "transport": "js",
        "url": "feed()",
        "interval": 15000
      },
Run Code Online (Sandbox Code Playgroud)

获取数据并附加到情节:

  // 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]
     });
  })
}
Run Code Online (Sandbox Code Playgroud)

nar*_*cky 3

您需要通过添加以下内容来调整缩放对象

zoom:{
    preserveZoom:true
}
Run Code Online (Sandbox Code Playgroud)

keepZoom 将在刷新时保持图表上的缩放级别。或者,您可以调整 Feed 的刷新时间。添加属性 resetTimeout:'Number' 将确定 feed 将重置多少个值。默认值相当低 (80-100)。

refresh:{
    ....
    resetTimeout:1000, // after 1000 nodes the feed will re-start
}
Run Code Online (Sandbox Code Playgroud)

我不太确定你的 JSON 是什么样子,但如果你想保留滚动条,你将需要一些东西。您需要在 JSON 中定义缩放滚动

scrollX:{}, // makes the scrollbar appear
scaleX:{
    zooming:true, // allows for zooming
    ...
}
Run Code Online (Sandbox Code Playgroud)

我在 ZingChart 团队工作。如果您需要更多帮助,请告诉我。