jqplot bargraph不显示数据

时间:2011-07-01 20:53:07

标签: javascript jqplot

没有从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 :(得分:0)

得到了部分答案,前两个图表现在正常工作,因为工作中的其他人移动了jqplot内容所在的文件夹而没有通知我。在顶部更改脚本中的地址可以解决问题。

但由于某种原因,第三个不起作用。

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

SecondArray全部为零值,FirstArray大部分为零,ThirdArray在其大多数字段中都有一个值。 Ticks有正确的日期。

答案 1 :(得分:0)

好的,发现了问题。显然

parseInt(maxValue * .1)
如果maxValue小于10,

变得有气质并返回0,并且jqplot不喜欢0作为滴答间隔。找到了一种更好的间隔方式,现在一切正常。