动态添加点到Highstock Chart

时间:2013-03-04 08:49:11

标签: highcharts highstock

我对Highstock很新,​​遇到了问题。我想要做的是以下内容。 在页面加载时,我使用下面的代码添加14个图表(删除了一些细节以使代码保持最小)。这些图表的数据由ajax通过json调用检索。经过x秒后,它再次检查json,然后我只想添加最新的点(这个json文件正在更新中)。

我一直在玩这个并重建这几天,但是我无法让它运行起来。第一次很棒。它获取所有数据并绘制所有图表。在x秒之后,它重新加载json并获取所有新数据,但它会删除整个图表并重新绘制它。这是正确的,因为这就是我要告诉它的事情。但只是因为我似乎无法访问series []来使用AddPoint。有什么想法吗?

snapshotGraphConfig: function (renderContainer, data) {
    var currentTime = new Date(),
        month = addDecimal(currentTime.getMonth() + 1),
        day = addDecimal(currentTime.getDate()),
        year = currentTime.getFullYear(),
        today = month + "/" + day + "/" + year + ' 22:00:00',
        config = {};

    config.chart = {
        renderTo: renderContainer,
        backgroundColor: 'rgba(255, 255, 255, 0)',
    };      
    config.series = [{
        color: '#3599d0',
        data : data,
        tooltip: {
            valueDecimals: 2
        }
    }];
    config.xAxis = {
        ...
    };
    config.yAxis = {
        ...
    };
    return config;
},

setSnapshotGraph: function (index, val) {
    var chartDiv = 'graph' + index,
        chartData = val.GraphQuotes;

    switch (chartData === null) {
    case true:
        $('#' + chartDiv).parent().addClass('loader');
        break;
    case false:
        //If has loader, remove loader
        if ($('#' + chartDiv).parent().hasClass('loader')) {
            $('#' + chartDiv).parent().removeClass('loader');
        }

        //Do not add entire data to graph when it's already there
        if (chartsArr.length >= 14) {
            //chartsArr[index].series[0].remove(true);
            //chartsArr[index].series[0].addPoint(newPoint, true, true);
        } else {
            chartsArr.push(new Highcharts.StockChart(markteApp.snapshotGraphConfig(chartDiv, chartData)));

            chartsArr[index].setSize(
               $('#' + chartDiv).width(),
               $('#' + chartDiv).height(),
               false 
            );                
        }
        break;
    }
}

0 个答案:

没有答案
相关问题