Javascript jQuery将额外的计算数据点推送到HighChart系列

Javascript jQuery将额外的计算数据点推送到HighChart系列,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我试图将数据点推送到HighCharts的数据系列数组中。我从标准饼图模板开始。然后,我添加了额外的$.get语句来计算文件中的行数。 每增加一个$.get上的alert语句都会返回正确的行数,但数据点不会推送到序列中。 有人能帮我吗,我是JQuery新手。谢谢 $.get('piechart.csv', function(data) { // Split the lines var

我试图将数据点推送到HighCharts的数据系列数组中。我从标准饼图模板开始。然后,我添加了额外的$.get语句来计算文件中的行数。 每增加一个$.get上的alert语句都会返回正确的行数,但数据点不会推送到序列中。 有人能帮我吗,我是JQuery新手。谢谢

                $.get('piechart.csv', function(data) {
                    // Split the lines
                    var buttons
                    var lines = data.split('\n');
                    var series = {
                        data: []
                    };
                    // Iterate over the lines and add categories or series
                    $.each(lines, function(lineNo,line) {
                        var items = line.split(',');
                            series.data.push({
                                name: items[0],
                                y:parseFloat(items[1])
                            });
                    });


                    $.get('button0.txt', function(data) {
                        // Split the lines
                        var lines = data.split('\n');
                        series.data.push({
                            name: 'Power off',
                            y: (lines.length-1)
                        });
                        alert (lines.length-1);
                    });
                    $.get('button1.txt', function(data) {
                        // Split the lines
                        var lines = data.split('\n');
                        series.data.push({
                            name: 'Power on',
                            y: (lines.length-1)
                        });
                        alert (lines.length-1);
                    });

                    options.series.push(series);
                    // Create the chart
                    var chart = new Highcharts.Chart(options);
                });
我假设,数据点被推到了系列中,但问题在于,在创建并呈现图表实例之前,这不会发生

撇开我在代码中没有看到
options
变量的声明这一事实不谈,这意味着可能还潜伏着另一个bug(但我假设这只是一个输入错误?),问题在于HighCharts没有做任何事情来跟踪您传递的初始序列,因此,修改该系列不会影响图表

您需要自己更新图表-例如,使用。因此,在Ajax调用的成功回调中,您需要按照以下步骤进行操作:

$.get('button0.txt', function(data) {
     // Split the lines
     var lines = data.split('\n'),
         chart = $('#container').highcharts();
     chart.series[0].addPoint({ 
           name: 'Power off', 
           y: lines.length-1 
     });
 });

AJAX调用是异步的,因此不会逐个执行行。阅读
jQuery.done
或瀑布式ajax调用。谢谢Ben,这就成功了。“options”声明在代码中的位置更高了一点,似乎很有效,所以我没有包含它。非常感谢你的帮助。