Динамический JSON в круговую диаграмму Highcharts - PullRequest
0 голосов
/ 15 сентября 2011

Я борюсь с Highcharts прямо сейчас, пытаясь получить данные в него.Если я жестко закодирую опции и серии, я могу заставить их работать - так что это не моя конфигурация (то есть скрипты, CSS и т. Д.): Ajax JSON в круговой диаграмме Highcharts

К сожалению, это не помогло.Может кто-нибудь взглянуть и посмотреть, что я делаю не так?

(Этот код напрямую связан с ранее упомянутым сообщением SO)

function renderChart(divId, chartType, chartTitle){
    var options = createOption(divId, chartType, chartTitle);
    var series = createSeries();
    options.series = series;    
    var chart = new Highcharts.Chart(options);
}

function createOption(divId, chartType, chartTitle){
    var options = {
        chart: {
            renderTo: divId,
            defaultSeriesType: 'pie'
        },
        title: {
            text: chartTitle
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: false
                },
                showInLegend: true
            }
        },
        series: []
        };
        return options; 
}

function createSeries(){
    var series = [];
    series.push('[');
    series.push('{');
    series.push('"type" : "pie",');
    series.push('"name" : "fruits",');
    series.push('"data" : [');
    series.push('[');
    series.push('"Apple",')
    series.push('43.0');
    series.push('],');
    series.push('[');
    series.push('"Pear",')
    series.push('57.0');
    series.push(']');
    series.push(']');
    series.push('}');
    series.push(']');
    return series.join('');
}

Заранее спасибо

Не обращать внимания.Самый простой способ - заставить сервер подготовить объект серии.См. Этот пост: повторение ответа JSON с jQuery для Highcharts

Ответы [ 2 ]

3 голосов
/ 15 сентября 2011

Вы кормите Highcharts строку:

'[{"type" : "pie","name" : "fruits","data" : [["Apple",43.0],["Pear",57.0]]}]'

где он ожидает массив объектов конфигурации для ряда, например:

[{
    type : "pie",
    name : "fruits",
    data : [["Apple",43.0],["Pear",57.0]]
}]
0 голосов
/ 20 января 2014

Вы можете напрямую связать диаграмму с данными JSON. Вам просто нужно установить имена свойств json в качестве стандарта highchart. «Y» для значения и «имя» для метки.

Ваш JSON должен выглядеть следующим образом:

[{name: "Apple", y: 25}, {name: "Pear", y: 20}]

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