Highcharts: How to load data from JSON to xAxis.categories and series.data?

12,684

I found out the solution.

In my php script, I have to cast integer to the series data,

(int)$variable;

so the JSON out put would be

[4, 3, 1, 1]

and the chart will be rendered.

Thank you ppl :)

Share:
12,684
Gerard
Author by

Gerard

Updated on June 12, 2022

Comments

  • Gerard
    Gerard almost 2 years

    Sorry for the beginner question.

    This is how my JSON looks like:

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

    And this is my 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]));
        }
    

    I tried to execute the code, firebug shows no error but the chart never shows up. Could you help point out where did I go wrong?

    • NT3RP
      NT3RP almost 13 years
      Is there something missing from your code? It looks like you never actually create a new instance of your chart.
    • Gerard
      Gerard almost 13 years
      @NT3RP sorry, i forgot to put the instantiate code here, i did initialize it with chart = new Highcharts.Chart(options); but the chart never shows up. Thank you!
  • NT3RP
    NT3RP almost 13 years
    Glad you found a solution; please mark your solution as accepted so others know what worked for you :)