在没有默认序列的情况下在Highcharts上显示实时数据

时间:2018-07-20 12:27:06

标签: javascript highcharts

我在Highchart网站上找到了以下代码:https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/dynamic-update/

我想在默认序列为空的图表上显示数据,并将dateTime设置为xAxis。我不想使用jQuery,也不想在图表中添加负载事件点。我只想在页面完全加载时添加点。我用这个

const chart = new Highcharts.chart('container', {
  ...
  ...
  ...
}

document.addEventListener('DOMContentLoaded', function() {
  var i = 0;
  console.log(chart)
  setInterval(function() {
    console.log(values[i])
    chart.series[0].addPoint(values[i], true, true);
    i++;
  }, 1000);
})

我使用了类似于上面链接的图表结构。 values[i][dateTime, Number]从我的API中得到的一点。我找到了一些针对xAxis使用类别的解决方案,但是我需要使用dateTime并向其中显示dateTime的类别。

1 个答案:

答案 0 :(得分:0)

在没有数据的情况下,您不能将带有移位的点添加到序列中。添加第一个点而不移动或不使用移动:http://jsfiddle.net/BlackLabel/0h9jz3t1/

const chart = new Highcharts.chart('container', {
  series: [{}]
});
const values = [[100, 20], [200, 20], [300, 20], [400, 20], [500, 20]];

document.addEventListener('DOMContentLoaded', function() {
  var i = 0;

  chart.series[0].addPoint(values[i], true, false);
  i++;

  setInterval(function() {
    chart.series[0].addPoint(values[i], true, true);
    i++;
  }, 1000);
});

实时演示:http://jsfiddle.net/BlackLabel/oqp30tna/

API:https://api.highcharts.com/class-reference/Highcharts.Series#addPoint