Highcharts:如何将数据从JSON加载到xAxis.categories和series.data?

时间:2011-07-03 16:17:57

标签: javascript json highcharts

对不起初学者的问题。

这就是我的JSON的样子:

[
   ["junior college", "Primary", "secondary", "polytechnic"],
   ["4", "3", "1", "1"]
]

这是我的HTML,

var chart; // global
var options = {
    chart: {
        renderTo: 'container',
        defaultSeriesType: 'bar'
    },
    title:{
        text: 'No. Schools for different levels'
    },
    xAxis:{
        title:'Education Level',
        categories:[]
    },
    yAxis:{
        title:{
            text:'No. Of Schools'
        }
    },
    series:[{
        name: "No. Schools",
        data: []
    }]
};

$.getJSON('loadData.php', function(JSONresult) {
    yData = options.series[0].data; //Array to store data for y column
    xData = options.xAxis.categories; //Array to store data for x column

    xDataObj = JSONresult[0];
    yDataObj = JSONresult[1];

    for(var key in xDataObj){
        xData.push(xDataObj[key]);
    }

    for(var key in yDataObj){
        yData.push(parseFloat(yDataObj[key]));
    }

我尝试执行代码,firebug显示没有错误,但图表从未显示。你能指出我哪里出错吗?

2 个答案:

答案 0 :(得分:2)

我找到了解决方案。

在我的php脚本中,我必须将整数转换为系列数据

(int)$variable;

因此JSON输出将是

[4, 3, 1, 1]

将呈现图表。

谢谢ppl:)

答案 1 :(得分:0)

你需要做这样的事情来实例化和渲染图表:

chart = new Highcharts.Chart(options);

这可能会在你的getJSON响应函数结束时发生。