jqplot гистограмма не отображает данные - PullRequest
0 голосов
/ 02 июля 2011

Не получаю ошибок от firebug.Не отображается ни в одном браузере.Работал ранее и перестал работать около недели назад.Пример кода ...

$(document).ready(function () {
    //Generic names for multiple graphs
    var First = $('#hfFirstOrder').val().split(",");
    var Second = $('#hfSecondOrder').val().split(",");
    var Third = $('#hfThirdOrder').val().split(",");
    var ticks = $('#hfDaysOrder').val().split(",");
    var maxValue = parseInt($('#hfMaxOrder').val());
    var FirstArray = [];
    var SecondArray = [];
    var ThirdArray = [];
    for (i = 0; i < First.length; i++) {
        FirstArray.push(parseInt(First[i]));
        SecondArray.push(parseInt(Second[i]));
        ThirdArray.push(parseInt(Third[i]));
    }
    plotGraph("stackedPurchase", [FirstArray, SecondArray, ThirdArray], true, ticks, "Orders", maxValue, '#000', "Completed",
                '#00F', "Ship/Pick", '#F00', "Back Order");

        function plotGraph(chartName, total, stackBool, tick, yLabel, maxValue, SC1, SL1, SC2, SL2, SC3, SL3) {
        plot = $.jqplot(chartName, total, {
            stackSeries: stackBool,
            seriesDefaults: {
                renderer:$.jqplot.BarRenderer,
                rendererOptions: { barMargin: 20, barWidth: 10 },
                showMarker: false,
                pointLabels: { show: false }
            },
            axes: {
                xaxis: {
                    label: "Days",
                    renderer: $.jqplot.CategoryAxisRenderer,
                    ticks: tick
                },
                yaxis: {
                    label: yLabel,
                    padMin: 0,
                    tickInterval: parseInt(maxValue * .1),
                    min: 0,
                    max: maxValue,
                    tickOptions: { formatString: '%d' }
                }
            },
            series: [{ color: SC1, label: SL1 },
            { color: SC2, label: SL2 },
            { color: SC3, label: SL3 }
        ],
            legend: {
                show: true,
                location: 'e',
                placement: 'outside'
            }
        });
    }
});

И затем в html есть вызов для

<div id="stackedPurchase" style="height:450px;width:900px;" runat="server"></div>

. И различные скрытые значения - это строки csv из кода.Согласно Firebug они передаются в правильном (правильные форматы и правильный номер каждой переменной).Судя по моему недавнему опыту кодирования, это, вероятно, что-то очевидное.

Ответы [ 2 ]

0 голосов
/ 05 июля 2011

Хорошо, нашел проблему.Очевидно,

parseInt(maxValue * .1)

получает жалобу и возвращает 0, если maxValue меньше 10, а jqplot не любит 0 в качестве интервала тиковНашел лучший способ сделать интервалы и теперь все работает.

0 голосов
/ 05 июля 2011

Получил частичный ответ, первые два графика теперь работают, потому что кто-то еще на работе переместил папки, в которых находился jqplot, без уведомления меня.Изменение адреса в верхних скриптах устранило проблему.

Но по какой-то причине третий не работает.

plotGraph("graphQuote", [FirstArray, SecondArray, ThirdArray], false, ticks, "Quotes", maxValue, '#F00', "Request RFQ", '#00F', "RFQ", '#0F0', "Customer Quote");

SecondArray - все нулевые значения, FirstArray - в основном ноль иThirdArray имеет значение в большинстве своих полей.Тики имеют правильные даты.

...