ошибка круговой диаграммы google: строка указана с размером, отличным от 0

Я использую символы Google для рисования круговых и гистограмм с данными, поступающими из базы данных. Я использую PHP и JavaScript.

У меня есть следующий код:

// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart'], callback: function(){
    // check what chart to draw (pie or bar chart)
    if(tipoghs[0] == 'PICH')
    {
        // Create our data table out of JSON data loaded from server.
        var data = new google.visualization.DataTable();

        data.addColumn('string', 'Ventas');
        data.addColumn('number', titles[0]);

        for(var i = 0;i < size;i++)
        {
            data.addRows([[dfilas[i], parseFloat(dcolumnas[i])]]);
        }

        // Set chart options
        var options = 
        {
            'title' : 'Cantidad Total de Entradas',
            'width' : 400,
            'height': 300,
            backgroundColor: 'transparent',
            chartArea: 
            {
                left: "3%",
                top: "10%",
                height: "100%",
                width: "70%"
            }
        };

        // Instantiate and draw our chart, passing in some options.
        var chart = new google.visualization.PieChart(document.getElementById('ficContainer'));

        chart.draw(data, options);
    }

    // check what chart to draw (pie or bar chart)
    else if(tipoghs[0] == 'COCH')
    {
        // Create our data table out of JSON data loaded from server.
        var data = new google.visualization.DataTable();

        data.addColumn('string', 'Ventas');
        data.addColumn('number', titles[0]);

        for(var i = 0;i < size;i++)
        {
            data.addRows([[dfilas[i], parseFloat(dcolumnas[i])]]);
        }

        // Set chart options
        var options = 
        {
            title: titles[0],
            hAxis: 
            {
                viewWindow: 
                {
                    min: [7, 30],
                    max: [17, 30]
                }
            },
            vAxist: 
            {
                title: "Meses"
            }
        };

        // Instantiate and draw our chart, passing in some options.
        var chart = new google.visualization.ColumnChart(document.getElementById('ficContainer'));

        chart.draw(data, options);
    }
}

Я делаю вызов AJAX для получения данных с сервера. Одна из точек данных, поступающих из базы данных, — хочу ли я нарисовать круговую или гистограмму (условие, которое вы найдете в коде javascript).

По какой-то причине, когда я открываю веб-сайт в IE 9 и устанавливаю точку данных в БД как круговую диаграмму, это дает мне ошибку: Строка задана с размером, отличным от 0. Поскольку это круговая диаграмма в БД, он проходит через условие ЕСЛИ. Если я открываю в Google Chrome, он работает (не выдает сообщение об ошибке).

Если я устанавливаю диаграмму в виде гистограммы в БД, она работает в IE 9. Когда это гистограмма, она проходит через ELSE в приведенном ниже коде javascript.

Кто-нибудь знает, почему, когда он проходит через IF (круговую диаграмму), он выдает сообщение об ошибке в IE 9?


person Erick    schedule 10.01.2016    source источник
comment
Вероятно, это не связано, но я думаю, вы, вероятно, имеете в виду vAxis, а не vAxist.   -  person Lee Taylor    schedule 10.01.2016
comment
Спасибо, но да, это не относится к проблеме   -  person Erick    schedule 10.01.2016
comment
нужно будет увидеть данные, чтобы действительно помочь. если вы хотите динамически создавать различные диаграммы, могу ли я предложить использовать класс ChartWrapper. Это устранит необходимость в операторе if -- пример   -  person WhiteHat    schedule 10.01.2016
comment
Я бы посмотрел на ваш data.addRows([[dfilas[i], parseFloat(dcolumnas[i])]]);, вы уверены, что это не должно быть data.addRow (без s)? Я имею в виду, что вы передаете данные только для одной строки (я просто предполагаю это, но это выглядит так...).   -  person Henrik Aronsson    schedule 11.01.2016