Highcharts 动态更新Highchart中的数据,加载事件不起作用

Highcharts 动态更新Highchart中的数据,加载事件不起作用,highcharts,Highcharts,加载事件(chart.series[0].data)中没有数据 错误代码:未捕获类型错误:无法读取未定义的属性“open” 然后将其设置为enabled:false,如下所示。。 ex) 数据分组:{ 已启用:false 单位:分组单位 }, 它能工作,但太慢了。。 我该怎么办 这是我的密码: $(document).ready(function(){ var area = { chart:{ height:500,

加载事件(chart.series[0].data)中没有数据 错误代码:未捕获类型错误:无法读取未定义的属性“open”

然后将其设置为enabled:false,如下所示。。 ex) 数据分组:{ 已启用:false 单位:分组单位 },

它能工作,但太慢了。。 我该怎么办

这是我的密码:

     $(document).ready(function(){
    var area = {
        chart:{
            height:500,
            marginRight:30,
            backgroundColor:'#F4F4F4',
            events: {
                load: function() {
                    var chart = $('#container').highcharts();
                    var point = chart.series[0].data[chart.series[0].data.length -1];
                    text = chart.renderer.text(
                        '',
                        point.plotX + chart.plotLeft + 10,
                        point.plotY + chart.plotTop - 10
                    ).attr({
                        zIndex: 5
                    }).add(),
                    box = text.getBBox();
                    chart.renderer.rect(box.x - 5, box.y - 5, box.width + 10, box.height + 10, 5)
                    .attr({
                        fill: '#FFFFEF',
                        stroke: 'gray',
                        'stroke-width': 1,
                        zIndex: 4
                        })
                        //.add();
                    series1 = this.series[0];
                    series2 = this.series[1];
                    //dataMax
                    var price = series1.data[series1.data.length -1].open;

                refreshIntervalId = setInterval(function () {
                    var x = series1.data[series1.data.length -1].x; // current time
                    var time = (new Date).getTime();

                    var o = series1.data[series1.data.length -1].open;

                    var h = series1.data[series1.data.length -1].high;

                    var l = series1.data[series1.data.length -1].low;


                    if(time % 2 === 0){
                        price = o + Math.random() * 3;
                    }
                    else {
                        price = o - Math.random() * 3;
                    }
                    if(price > series1.data[series1.data.length -1].high){
                        h = price;
                    }
                    if(price < series1.data[series1.data.length -1].low){
                        l = price;
                    }
                    var c = price;                          
                    var y = series2.data[series2.data.length -1].y + Math.round(Math.random() * 1);
                    series1.data[series1.data.length -1].update({x : x, open : o, high: h, low: l, close: c}, true);
                    series2.data[series2.data.length -1].update({x : x, y: y}, false);

                }, 1000);
            } 
        }
    },

    credits: {
        enabled:true,
        position: { align: 'right', x: -10, verticalAlign: 'bottom', y: -5 },
        style: { cursor: 'pointer', color: 'black', fontSize: '9px' }
    },

    scrollbar: {
        enabled: false
    },

    rangeSelector: {
        selected: 1,
        inputEnabled: false
    },

    title: {
        useHTML: true,
        x: -10,
        y: 8,
    },
    xAxis: {
        gridLineWidth: 1,
        labels: {
            format: '{value:%m-%d}',//'{value:%Y-%m-%d}',
        }
    },

    yAxis:[{
        crosshair: {
            snap: false
        },
        height: 200,
        labels: {
            align: 'right',
            x: 25,
            formatter: function (){
                return $.number(Highcharts.numberFormat(this.value, 0,'',''));
                }
        },
    },

    /*volume*/
    {
        labels: {
            align: 'right',
            x: 20,
        },
        //  lineWidth: 2
        top: 280,
        height: 113,
        offset: 0,
    }],   

    series: [{
        type: 'candlestick',
        name: 'AAPL Stock Price',
        data: data,
        dataGrouping: {
            units: groupingUnits
        },
        point:{
            events:{
                mouseOver: function (){
                    var chart = this.series.chart;
                    if (!chart.lbl){
                        chart.lbl = chart.renderer.label('')
                        .attr({
                            padding: 10,
                            r: 10,
                            //fill: Highcharts.getOptions().colors[1]
                        })
                        .css({color: 'black'})
                        .add();
                    }//if OFF

                    var timeStamp = this.x,
                    date = new Date(parseFloat(timeStamp)),
                    currentTime = get_Date(date);
                    chart.lbl
                    .show()
                    .attr({
                        text: currentTime + ' H: ' + $.number(this.high) + ' L: ' + $.number(this.low) + ' O: ' + $.number(this.open) + ' C: ' + $.number(this.close),
                        y: 22,
                    });
                },//mouseover OFF

                mouseOut: function (){
                    if (this.series.chart.lbl){
                        this.series.chart.lbl.hide();
                    }//if OFF
                }//mouseout OFF
            },//events OFF
        },//point OFF
    }, //series[0] OFF

    {
        type: 'column',
        name: 'Volume',
        data: volume,
        yAxis: 1,
        dataGrouping: {
            units: groupingUnits
        },               
    }]//series[1] OFF
}

var dataLength = data.length,
                i = 0;

                groupingUnits = [[
                                  'week',                         // unit name
                                  [1]                             // allowed multiples
                                  ], [
                                      'month',
                                      [1, 2, 3, 4, 6]
                                      ]];


                for (i; i < dataLength; i += 1) {
                    candlestickOhlc.push([  
                           data[i][0], // the date
                           data[i][1], // open
                           data[i][2], // high
                           data[i][3], // low
                           data[i][4] // close
                     ]);

                volume.push([
                             data[i][0], // the date
                             data[i][5] // the volume
                             ]);
                }//for OFF

                option = candlestick;

option.series[0].data = data;
$('#container').highcharts('StockChart', option);
});
$(文档).ready(函数(){
可变区={
图表:{
身高:500,
marginRight:30,
背景颜色:“#f4”,
活动:{
加载:函数(){
var chart=$(“#容器”).highcharts();
var point=chart.series[0]。data[chart.series[0]。data.length-1];
text=chart.renderer.text(
'',
point.plotX+chart.plotLeft+10,
point.plotY+chart.plotTop-10
)艾特先生({
zIndex:5
}).add(),
box=text.getBBox();
chart.renderer.rect(box.x-5,box.y-5,box.width+10,box.height+10,5)
艾特先生({
填写:“#FFFFEF”,
笔画:'灰色',
“笔划宽度”:1,
zIndex:4
})
//.add();
series1=本系列[0];
系列2=本系列[1];
//dataMax
var price=series1.data[series1.data.length-1]。打开;
refreshIntervalId=setInterval(函数(){
var x=series1.data[series1.data.length-1].x;//当前时间
var time=(新日期).getTime();
var o=series1.data[series1.data.length-1]。打开;
var h=series1.data[series1.data.length-1]。高;
var l=series1.data[series1.data.length-1]。低;
如果(时间%2==0){
price=o+Math.random()*3;
}
否则{
price=o-Math.random()*3;
}
if(price>series1.data[series1.data.length-1].high){
h=价格;
}
if(价格