Ошибка Highcharts № 14 с SPServices

Я новичок в highcharts и jQuery, и у меня возникают проблемы с отображением данных из списка Sharepoint с помощью SPServices. У меня есть две колонки; один со значением даты, а другой с числовыми значениями. Я использую учебник это в качестве ориентира для кода .

Я получаю сообщение об ошибке "Uncaught Highcharts error #14: www.highcharts.com/errors/14", что, как я понимаю, связано с тем, что Highcharts ожидает, что значение даты будет числом. Я прочитал здесь, что должен использовать parseFloat() или parseInt(), которые не сработали.

Затем я попытался создать линейную диаграмму, используя столбец типа «Число» вместо столбца даты, и я получаю ту же ошибку, которая еще больше меня смущает. Спасибо за любую помощь.

Код:

<script>
$(document).ready(function () {

    var valuesArray = [];
    $().SPServices({
        operation: "GetListItems",
        async: false,
        CAMLQuery: "<Query><OrderBy><FieldRef Name='Week'/></OrderBy></Query>",
        listName: "{GUIDVALUEREMOVED}",
        CAMLViewFields: "<ViewFields><FieldRef Name='Week'/><FieldRef Name='Total'/></ViewFields>",
        completefunc: function (xData, Status) {
            $(xData.responseXML).SPFilterNode("z:row").each(function () {  
                var week = ($(this).attr('ows_Week'));             
                var total = ($(this).attr('ows_Total'));
                valuesArray.push([parseFloat(week), total]);      
            });
        }
    });
    chart = new Highcharts.Chart({

        chart: {
            renderTo: 'CHANGEME',
            type: 'line'
        },
        title: {
            text: 'FS Total by Week'
        },
        yAxis: {
            title: {
                text: 'values'
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        subtitle: {
            text: 'Change me 2'
        },

        tooltip: {
            formatter: function() {
                return '<b>'+ this.y;}
        },
        credits: {
            enabled: false
        },
        plotOptions: {
            column: {
                allowPointSelect: true,
                pointPadding: 0.2,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    color: '#000000',
                    connectorColor: 'transparent',
                    formatter: function() {
                        return '<b>'+ this.y;
                    }
                }
            }
        },
        series: [{
            type:'line',
            name: 'Total',
            data: valuesArray
        }]
    });
});
</script>
<div id="CHANGEME">
</div>

person cherry_bueno    schedule 21.08.2014    source источник


Ответы (1)


Здесь: valuesArray.push([parseFloat(week), total]); вы анализируете только значение x, сделайте то же самое со значением y: valuesArray.push([parseFloat(week), parseFloat(total)]);

person Paweł Fus    schedule 21.08.2014