Atualização de série do Highchart em javascript

Estou tentando atualizar uma série Highchart gerando uma nova matriz com os dados atuais do banco de dados. Mas, por algum motivo, só consigo encontrar informações sobre como passar pelos dados um de cada vez. Uma vez que um gráfico é criado, ele apenas re-executa o mesmo código novamente para que os rótulos etc. não mudem - somente o [pointStart] e o [data] são alterados.

Existe uma maneira de atualizar todos os dados como um todo? Eu também não consegui fazer um loop for funcionar corretamente.

function generateSeries(data){
    var cData = [];
    var rollup = data.rollupData;
    cData['type'] = 'line';
    cData['pointStart'] = convertDateTime(data.lastMinute);
    cData['pointInterval'] = 60 * 1000;
    for(var i in rollup){
        var x = new Array();
        var v = rollup[i].rttSystem;
        switch(v){
            case('line'): var vn = ' (L)'; break;
            case('node'): var vn = ' (N)'; break;
            case('module'): var vn = ' (M)'; break;
            default: var vn = '';
        }
        x['name'] = rollup[i].rollupName + vn;
        x['data'] = rollup[i].kpiData;
        cData.push(x);
    }
    return cData;
}

a saída da matriz é semelhante a [0: ['nome': 'Califórnia', 'dados': [0,002, 0,003 ...], 1: ['nome': 'Oklahoma', 'dados': [0,001, 0.002 ...], 'type': 'line', 'pointStart': '', 'pointInterval': 60 * 1000]

var chart = new Highcharts.Chart({
    chart: {
    ...
    },
    series: generateSeries(data)
    }, function(chart){
        setInterval(function(){
            var newSeries = generateSeries(data);
            // Udate the series again with the current data
        },60000);
    }
});

Atualização: isso faz a série, mas não o pointStart.

if(chart.series.length > 1){
    var s = 0;
    for(var i in newSeries){
        chart.series[s].setData(newSeries[i].data);
        chart.series[s].pointStart = newSeries[i].pointStart;
        s++;
    }
}else{
    chart.series[0].setData(newSeries[0].data);
    chart.series[0].pointStart = newSeries[0].pointStart;
}

questionAnswers(2)

yourAnswerToTheQuestion