Highcharts / HighStock问题,系列在动态更新中消失

时间:2015-07-07 22:36:28

标签: javascript jquery highcharts

我有这个高库存区域图表,消耗了JSON api。每隔n秒,图表会调用点数增量的API。

几分钟后,左侧系列消失,但是,如果将鼠标悬停在它上面,标签仍然会出现。适用于Mac和Windows,FF IE Chrome和Safari。非常感谢任何帮助。

您可以在此处观看演示:

https://dev-mv-charts.azurewebsites.net/goldarea.htm

更新:如果我使用下面的代码,从highcharts网站上获取它似乎工作。现在只需要替换随机数据的初始加载。

$(function () {

Highcharts.setOptions({
    global : {
        useUTC : true
    }
});

// Create the chart
$('#container').highcharts('StockChart', {
    chart : {
        events : {
            load : function () {

                // set up the updating of the chart each second
                var series = this.series[0];
                setInterval(function () {

                    var _update_url = 'http://api.bullionmark.com/v1/ask?currencyId=2&commodityId=1';

                    $.ajax({
                        type: 'GET',
                        url: _update_url}).done(function (resp1) {

                            var x2 = parseInt(resp1.Timestamp) * 1000;
                            var y2 = parseFloat(resp1.Current);

                            //var x = (new Date()).getTime(), // current time
                            //y = Math.round(Math.random() * 100);

                            series.addPoint([x2, y2], true, true);

                        });

                }, 5000);
            }
        }
    },

    rangeSelector: {
        buttons: [{
            count: 1,
            type: 'minute',
            text: '1M'
        }, {
            count: 5,
            type: 'minute',
            text: '5M'
        }, {
            type: 'all',
            text: 'All'
        }],
        inputEnabled: false,
        selected: 0
    },

    title : {
        text : 'Live random data'
    },

    exporting: {
        enabled: false
    },

    series : [{
        name : 'Random data',
        type : 'area',
        data : (function () {
            // generate an array of random data
            var data = [], time = (new Date()).getTime(), i;

            for (i = -999; i <= 0; i += 1) {
                data.push([
                    time + i * 1000,
                    Math.round(Math.random() * 100)
                ]);
            }
            return data;
        }())
    }]
});

});

0 个答案:

没有答案