Я следовал за кем-то примерами кода и пытался применить к моей программе HighChart, но я не могу заставить ее работать - PullRequest
1 голос
/ 22 марта 2012

Я следовал за кем-то примерами кода, но я новичок в javascript и highcharts по факту эта программа работала, но показывает только один месяц за раз, я хочу показать данные всех месяцев. Извините за мой английский. Не могли бы вы дать мне несколько советов, спасибо.

$(document).ready(function () {
    var options = {
        chart : {
            renderTo : 'container',
            defaultSeriesType : 'column',
            rightMargin : 80
        },
        title : {
            text : 'the scholls'
        },
        subtitle : {
            text : 'data for 2012 years'
        },
        xAxis : {
            title : 'months',
            categories : []
        },
        yAxis : [{
                min : 0,
                title : {
                    text : 'students'
                }
            }, {
                linkedTo : 0,
                opposite : true
            }
        ],
        tooltip : {
            formatter : function () {
                return '<b>' + this.series.name + '</b><br/>' + this.x + 'Months: ' + this.y + ' students:';
            }
        },
        legend : {
            layout : 'vertical',
            align : 'right',
            verticalAlign : 'top',
            x : -10,
            y : 100,
            borderWidth : 0
        },
        series : [{
                name : "students total",
                data : []
            }
        ]
    };

    //get the json files
    $.getJSON('http://localhost:3000/students/givemechart.json', function (data) {

        yData = options.series[0].data; //Array to store data for y column
        xData = options.xAxis.categories; //Array to store data for x column
        xDataObj = data[3]; //only can show one months
        yDataObj = data[3]; //only can show one totals

        // [[5, 2], [6, 3], [8, 2]]
        for (var key in xDataObj) {
            xData.push((xDataObj[key].month));
            console.dir(xData); //chrome console only
        }

        for (var key in yDataObj) {
            yData.push((yDataObj[key].total));
            console.dir(yData); //chrome console only
        }

        var chart = new Highcharts.Chart(options);

    });
});

Это один из моих файлов json.

[
    {
        "student" : {
            "month" : 1,
            "total" : 24
        }
    }, {
        "student" : {
            "month" : 2,
            "total" : 27
        }
    }, {
        "student" : {
            "month" : 10,
            "total" : 96
        }
    }, {
        "student" : {
            "month" : 11,
            "total" : 1088
        }
    }, {
        "student" : {
            "month" : 12,
            "total" : 125
        }
    }

]

1 Ответ

0 голосов
/ 11 мая 2012

Установите Мин. И Макс. Для Xaxis следующим образом: xAxis : { title : 'months', categories : [], min: 1, max: 12 }

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