Круговая диаграмма из данных JSON - PullRequest
2 голосов
/ 13 марта 2012

У меня есть контроллер, который генерирует следующие данные json:

[

    {
        "title": "Option 0",
        "votes": 0
    },
    {
        "title": "Option 1",
        "votes": 1
    },
    {
        "title": "Option 2",
        "votes": 2
    },
    {
        "title": "Option 3",
        "votes": 3
    },
    {
        "title": "Option 4",
        "votes": 4
    },
    {
        "title": "Option 5",
        "votes": 5
    },
    {
        "title": "Option 6",
        "votes": 6
    },
    {
        "title": "Option 7",
        "votes": 7
    },
    {
        "title": "Option 8",
        "votes": 8
    },
    {
        "title": "Option 9",
        "votes": 9
    }

]

Я хочу сделать круговую диаграмму из этих данных, используя jqplot.Я могу сделать диаграмму, следуя инструкции , но не могу показать текстовые метки с кусочками.Вот мой код js:

jQuery(document).ready(function () {
    urlDataJSON = '/Poll/PollData?pollId=3';

    $.getJSON(urlDataJSON, "", function (data) {
        var dataSlices = [];
        var dataLabels = "";

        $.each(data, function (entryindex, entry) {
            dataSlices.push(entry['votes']);
            dataLabels = dataLabels + entry['title'];
        });
        options = {
            legend: { show: true },
            title: 'Poll Results',
            seriesDefaults: {
                // Make this a pie chart.
                renderer: jQuery.jqplot.PieRenderer,
                rendererOptions: {
                    // Put data labels on the pie slices.
                    // By default, labels show the percentage of the slice.
                    showDataLabels: true
                }
            }
        }
        var plot = $.jqplot('chartdiv', [dataSlices], options);
    });
});              

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

1 Ответ

4 голосов
/ 13 марта 2012

Ваша структура данных неверна, эта ссылка приводит вас к рабочему примеру.

Пример jqPlot

Я думаю, что это будет работать

dataSlices.push([entry['title'], entry['votes']]);
...