2016-06-03 4 views
0

Я пытаюсь построить круговую диаграмму с использованием данных JSON, возвращаемых с cartoDB SQL.Создайте круговую диаграмму HighCharts, используя данные JSON

Я использую пример, представленный на веб-сайте High Charts, но график не загружается. Ниже приведен код javascript. Вы видите что-то не так?

$(document).ready(function() { 
    var options = { 
     chart: { 
     renderTo: 'container', 
     type: 'pie' 
     }, 
     series: [{}] 
    }; 

    var jsonURL = 'https://1025.cartodb.com/api/v2/sql?&q=SELECT status FROM kenya_primary_schools'; 

    $.getJSON(jsonURL, function(data) { 
    var obj = data.rows, hObj = []; 
    if(obj.length){ 
     for(var i=0; i<obj.length; i++){ 
     hObj.push([obj[i]['status']]); 
     } 
     console.log(hObj); 
    } 
    options.series[0].data = data; 
    var chart = new Highcharts.Chart(options); 
    }); 
}); 
+0

Не могли бы вы добавить консоль.log между 'options.series [0] .data = data' и' var chart = new Highcharts.Chart (options); 'и опубликовать вывод? –

+0

@RahulSharma - http://i.imgur.com/iPyExu3.png – 1088

+0

@ Пимпол с моей стороны, все выглядит хорошо. Нет ошибки в коде – 1088

ответ

1

После изменения кода в некоторой степени, мне удалось получить следующий результат:

PRIVATE VS PUBLIC PIE CHART

Основные моменты вы должны сделать

Вы должны были бы проверить из Документация по высоким стандартам о том, как объект данных присваивается параметрам series.data из Highcharts doc

Поскольку у вас есть два варианта из cartoDB: PRIVATE и PUBLIC, вы должны подумать, как их хранить в массиве/объекте и как затем сформировать объект данных из круговой диаграммы.

Подсказка:

options.series [0] = .data данных;

hObj.push ([obj [i] ['status']]);

+0

Это должен быть конечный результат. Спасибо за совет! – 1088

+0

Удалось ли вам получить результат? :) – allu

+0

К сожалению, я не смог явно найти решение, несмотря на подсказки. :-(.. – 1088

0

В коде есть некоторые синтаксические ошибки. Вы можете попробовать исправить это и дать ему еще одну попытку.

$(document).ready(function() { 
var options = { 
    chart: { 
     renderTo: 'container', 
      type: 'pie' 
    }, 
    series: [{}] 
}, 
    jsonURL = 'https://1025.cartodb.com/api/v2/sql?&q=SELECT status FROM kenya_primary_schools'; 

$.getJSON(jsonURL, function(data) { 
    var obj = data.rows, 
    hObj = [], 
    chart; 
    if (obj.length) for (var i=0; i<obj.length; i++) hObj.push([obj[i].status]); 
    options.series[0].data = data; 
    chart = new Highcharts.Chart(options); 
}); 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^