Высокие диаграммы: как загрузить данные из JSON в xAxis.categories и series.data? - PullRequest
5 голосов
/ 03 июля 2011

Извините за вопрос новичка.

Вот так выглядит мой 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 ]

2 голосов
/ 04 июля 2011

Я нашел решение.

В моем php-скрипте мне нужно привести целое число к данным серии,

(int)$variable;

поэтому выход JSON будет

[4, 3, 1, 1]

и диаграмма будет отображена.

Спасибо, чел.)

0 голосов
/ 04 июля 2011

Вам нужно сделать что-то подобное для создания экземпляра и рендеринга диаграммы:

chart = new Highcharts.Chart(options);

Это может идти в конце функции ответа getJSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...