2011-07-01 3 views
0

방화 광에서 오류가 발생하지 않았습니다. 브라우저에 표시되지 않습니다. 이전에 일을하고 일주일 전에 일하는 것을 그만 두었습니다. 코드 샘플 ...jqplot 막대 그래프가 데이터를 표시하지 않습니다.

$(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' 
      } 
     }); 
    } 
}); 

그리고

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

그리고 다양한 숨겨진 값이 뒤에있는 코드에서 CSV 문자열에 대한 HTML에서 호출이있다. 방화범에 따르면 그들은 올바르게 전달되고 있습니다 (올바른 형식과 각 변수의 정확한 수). 최근에 코딩 경험을 보면, 아마 뭔가 분명합니다.

답변

0

좋아, 문제가 발견되었습니다. 분명히

parseInt(maxValue * .1) 

은 싸가지 얻고 maxValue를 10보다 작 으면 0을 반환하고, jqplot는 틱 간격으로 0을 좋아하지 않는다. 간격을 수행하는 더 좋은 방법을 찾았습니다. 이제 모든 것이 작동합니다.

0

부분적인 대답을 얻었으니 직장에서 다른 누군가가 jqplot 물건이 나에게 알려주지 않고 옮긴 폴더를 옮겼 기 때문에 처음 두 그래프가 작동합니다. 상단의 스크립트에서 주소를 변경하면 문제가 해결됩니다.

하지만 세 번째 이유는 작동하지 않습니다.

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

secondArray를 firstArray와는 대부분 0이고 ThirdArray는 대부분의 필드의 값을 가지며, 모두 0의 값이다. 진드기에는 정확한 날짜가 있습니다.

관련 문제