开始时没有数据时的动态 Highstock 图表

Dynamic Highstock chart when no data at start

我是 highstock 图表的新手,我遇到了一些问题。我有以下 highstok 图表。

Highcharts.stockChart('chart1', {
    chart: {  
        events: {
            load: function () {             
                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);
            }
        }
    },    
    rangeSelector: {
        buttons: [{
            count: 1,
            type: 'minute',
            text: '1M'
        }, {
            count: 5,
            type: 'minute',
            text: '5M'
        }, {
            type: 'all',
            text: 'All'
        }],
        inputEnabled: false,
        selected: 0
    },    
    title: {
        text: 'Random'
    },    
    navigator: {
        enabled: true
    },    
    exporting: {
        enabled: false
    },    
    series: [{
        name: 'Random',
        data: [[]]
    }]
});

一切看起来都很正常,但是如果我们 运行 https://jsfiddle.net/9pa5gjqw/17/ 我们会看到奇怪的行为。根本没有图表,我们只能看到加点。但是,如果我在 'series' 中添加一些数据,一切正常。

图表配置应该添加什么?可能是我错过了什么。

看起来很奇怪,因为你这样做:

series.addPoint([x, y], true, true);

系列赛中没有积分。如果我们查看第三个参数的 addPoint() 定义:

If true, a point is shifted off the start of the series as one is appended to the end.

因为系列中有 0 个点开始,所以点被删除,就像它们被添加一样。

3 种可能的解决方案,具体取决于您希望它看起来像什么。

  1. 不要移动系列,只需添加点。 Fiddle example
  2. 用 x 个值初始化系列(我用了 10 个点)Fiddle example
  3. 添加的前 x 个元素不要移动,然后移动。 (我用了10点)Fiddle example