将 2d json 设置为 highcharts

Set 2d json to highcharts

我用highcharts画图表。我有 2d json 对象,但我不知道如何将此对象设置为 highcharts。这是我的 json 对象数据:

我想要这样的图表(column-parsed highchart 示例):

这是我的代码:

$.ajax({
                                url:"../../teachersem",
                                type:"get",
                                data:{
                                    id:$.trim(tableData[0])
                                },
                                success:function(data){

                                        $('div[class|="col-md-7 col-md-offset-3"]').css("display","none");
                                        //console.log(data.accept);
                                        //console.log(data.fail);
                                        var accept=new Array();
                                        var fail  =new Array();
                                        for (i = 0; i < data.accept.length; i++){
                                            accept.push([data.accept[i].year, parseInt(data.accept[i].count)]);
                                            alert("accept: "+data.accept[i].year+" "+parseInt(data.accept[i].count));
                                        }
                                        //console.log(accept.toString());
                                        for (i = 0; i < data.fail.length; i++){
                                            fail.push([data.fail[i].year, parseInt(data.fail[i].count)]);
                                            alert("fail: "+data.fail[i].year+" "+parseInt(data.fail[i].count));
                                        }
                                        $('#container').highcharts({
                                            chart: {
                                                type: "column"
                                            },
                                            title: {
                                                text: "Student data"
                                            },
                                            xAxis: {
                                                allowDecimals: false,
                                                title: {
                                                    text: "Branch of studies"
                                                }
                                            },
                                            yAxis: {
                                                title: {
                                                    text: "Number of students"
                                                }
                                            },
                                            series: [{
                                                data: [accept,fail]
                                            }],

                                        }); 

                                },
                                error:
                                    alert('error!')
                            })
                        });

但这有什么结果吗?请帮忙,谢谢!

您实际上需要两个 series: data 参数(每列一个)。

第一列将是 accept 数据,第二列将是您的 fail 数据,因为我猜测您的类别标签在示例图像中是 Apples 将成为 Branch of Studies.

您的系列应该类似于以下内容:

series: [{
      name: "Accept",
      data: accept,
},
{
      name: "Fail",
      data: fail,
}]

您的 acceptfail 数组目前是数组的数组,但它们实际上可以是一个简单的列表,如 Highcharts 演示 here 中所示。然后,您可以在 xAxis 参数中指定 categories:,即您的 Branch of Studies