Highchart Callback Refactoring不起作用,以及如何使用多个Ajax数据显示多个系列

时间:2014-09-23 20:49:04

标签: highcharts

我正在开发一个利用highcharts和highstocks的项目。我遇到了两个问题,我想请求你的帮助。

  1. 如何使用多个系列编写高图,每个系列从不同的Ajax调用获取其数据源? Highcharts网站上的示例仅显示单个Ajax源或具有预先填充的虚拟数据的多系列图表。

  2. 我试图将高图的绘制与ajax调用函数分开,因为用于绘制图表的嵌入式回调方法可能会有点难以阅读。但是当我从回调部分中分析出高图表绘制代码时,高图显示不再有效,即高图调用不会返回任何内容。例如:

  3. 这项工作:

        $.getJSON(myUrl, function(data){
    
            $('#ajax-panel').highcharts('chart', {
                rangeSelector : {
                    selected : 1
                },
    
                title : {
                    text : 'analysis chart'
                },
    
                series : [
                    {
                        name : 'dataseries',
                        data : data,
                        id : 'dataseries',
                        tooltip: {
                            valueDecimals: 2
                        }
                    }
                ]
            });
    

    这不起作用,虽然语法方面我没有看到任何错误。

            $.getJSON(myUrl, function(data){
                drawChart(data);
            });
    
            function drawChart(data){
            $('#ajax-panel').highcharts('chart', {
                rangeSelector : {
                    selected : 1
                },
    
                title : {
                    text : 'analysis chart'
                },
    
                series : [
                    {
                        name : 'dataseries',
                        data : data,
                        id : 'dataseries',
                        tooltip: {
                            valueDecimals: 2
                        }
                    }
                ]
        }); 
    };
    

    谢谢!

1 个答案:

答案 0 :(得分:0)

1)你需要获得所有系列并推入一个数组,然后在highcharts中引用它。重要的是,图表应该在最后一个ajax的回调中初始化。

当/ then()时jquery函数也应该有用。

2)语法似乎是正确的,请检查您的控制台(单击F12 /开发人员工具)并观察是否有任何错误。