没有从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,它们正确传递(正确的格式和每个变量的正确数量)。从我最近的编码经验来看,它可能是显而易见的。
答案 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作为滴答间隔。找到了一种更好的间隔方式,现在一切正常。