1

在一个项目中,我正在使用与这个小提琴非常相似的东西:http: //jsfiddle.net/Z3vhg/

此动态更新数据分组柱形图的代码如下:

$('#container').highcharts('StockChart', {
    chart : {
        type: 'column',
        events : {
            load : function() {

                // set up the updating of the chart each second
                var series = this.series[0];
                setInterval(function() {
                    var x = (new Date()).getTime(), // current time
                    y = Math.round(Math.random() * 100);
                    series.addPoint([x, y], true, true);
                }, 1000);
            }
        }
    },
    yAxis: {
        offset: 30
    },
    rangeSelector: {
        buttons: [{
            count: 1,
            type: 'minute',
            text: '1M'
        }, {
            count: 5,
            type: 'minute',
            text: '5M'
        }, {
            type: 'all',
            text: 'All'
        }],
        inputEnabled: false,
        selected: 2
    },

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

    exporting: {
        enabled: false
    },

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

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

问题可以在上面的 fiddle 中观察到:随着数据更新和添加新点,x 轴上的第一个点移动了,但是由于使用了数据分组,列仍然存在,但给人的印象是第一列值是其实变...

任何帮助表示赞赏,因为这可能是一个奇怪的组合问题。

4

0 回答 0