初始渲染后将数据添加到Highcharts

时间:2017-12-01 16:35:42

标签: highcharts

我使用Highcharts并使用;

初始化数据
var graph = Highcharts.chart('container', {
................
    series: [{
        color: 'red',
        data: [[5, 2],  [800, 2], [801, 1],[802, 3],[803, 2],[804, 2],[1200, 3]]
    },
.............
}

我遇到的问题是在渲染初始图表后我想要动态添加更多数据。

在这种情况下,我使用了更新;

graph.update(
{
    series: [{
        color: 'blue',
        data: [[100, 2],  [101, 2], [102, 1] ]
    },
});

这可行,但它取代了整个数据集。 那么,我应该如何使用update()函数添加点而不是替换它们呢?

我看到人们正在使用其他功能,例如addPoint()和setData(),但我无法让它们正常工作...... 提前致谢 格斯

1 个答案:

答案 0 :(得分:2)

请参阅此现场演示: http://jsfiddle.net/kkulig/opr4Lgpe/

我在循环中添加所有点。 redraw函数的addPoint参数(第二个)设置为false - 每次添加后都不需要重绘图表。重绘最终只执行一次。

var chart = Highcharts.chart('container', {

  series: [{
    data: [1, 2]
  }]
});

var pointsToAdd = [4, 5, 6, 6, 7];

pointsToAdd.forEach(function(p) {
    chart.series[0].addPoint(p, false);
});

chart.redraw();

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