2015-02-17 2 views
1

Я пытаюсь построить на столбчатую диаграмму и я динамически передавая данные на графикJQPLOT Stacked Bar Chart вводный массив вопрос

Когда я прохожу на вход

[1, 0] [0, 1] [0, 0] [0, 1] ["2015-02-16", "2015-02-15"] 

в переменных s1, s2, s3, s4, dateArr (фрагмент кода ниже)

я получить правильный линейчатой ​​диаграммы построены

enter image description here

Но когда данные, передаваемые в столбчатой ​​диаграмме выглядит следующим образом

[2] [1] [0] [0] ["2015-02-16"] 

только строится второй массив, то первый игнорируется

enter image description here

Do однако обратите внимание, что ось y начинается с 2, то есть она распознает первый массив, но то же самое не отображается

здесь код я использую, чтобы построить диаграмму

//plot stacked bar chart function 
     function plotStack(s1,s2,s3,s4,dateArr) { 
      if(dateArr.length==0){ 
       s1=[0,0,0,0]; 
       s2=[0,0,0,0]; 
       s3=[0,0,0,0]; 
       s4=[0,0,0,0]; 
       dateArr.push(""); 
       dateArr.push(""); 
       dateArr.push(""); 
       dateArr.push(""); 
      } 
      $('#graph_stacked').html(''); // redraw the stack 

      var plotStack = $.jqplot('graph_stacked', [s1, s2, s3, s4], { 
      // Tell the plot to stack the bars. 
      stackSeries: true, 
      captureRightClick: true, 
      seriesDefaults: { 
       renderer: $.jqplot.BarRenderer, 
       rendererOptions: {       
         barWidth: 40,shadow:true, // Set a 30 pixel width for the bars. 
         shadowAngle: 90, 
         highlightMouseDown: true // Highlight bars when mouse button pressed. Disables default highlighting on mouse over. 
       }, 
       pointLabels: { 
        show: false 
       } 
      }, 
      grid: { background: 'transparent' }, 
      seriesColors: ["#47759e", "#444444", "#777777", "#9b9b9b"], 
      series:   [ {label: 'New'}, {label: 'In Progress'}, {label: 'Requesting Assistance'}, {label: 'Completed'} ], 
      axes: { 
       xaxis: { 
         renderer: $.jqplot.CategoryAxisRenderer, 
         ticks: dateArr 
       }, 
       yaxis: { 
        // Don't pad out the bottom of the data range. By default, 
        // axes scaled as if data extended 10% above and below the 
        // actual range to prevent data points right on grid boundaries. 
        // Don't want to do that here. 
        padMin: 0 
       } 
      }, 

      legend: { 
       renderer: $.jqplot.EnhancedLegendRenderer, 
       show: true, 
       placement: 'outside', 
       rendererOptions: { 
        numberRows: 2, 
        numberColumns: 2 
       }, 
       location: 's', 
        marginTop: '45px', 
        border: 'none' 
       }, 
       highlighter: { 
        show:true, 
        tooltipLocation: 'n', 
        showMarker : false, 
        tooltipAxisX: 20, // exclusive to this version 
        tooltipAxisY: 20, // exclusive to this version 
        useAxesFormatters: false, 
        formatString:'%s, %P', 
       } 
      }); 

      newTask.length=0; 
      inProgressTask.length=0; 
      reqAssistTask.length=0; 
      completedTask.length=0; 
      date.length=0; 
      stackArrAllNew.length=0; 
      stackArrAllInProgress.length=0; 
      stackArrAllReqAss.length=0; 
      stackArrAllCompTask.length=0; 
      stackDateAll.length=0; 
     } 

Так что я делаю не так?

Заранее спасибо

ответ

0

Ok решение было я должен был изменить

axes: { 
       xaxis: { 
         renderer: $.jqplot.CategoryAxisRenderer, 
         ticks: dateArr 
       }, 
       yaxis: { 
        // Don't pad out the bottom of the data range. By default, 
        // axes scaled as if data extended 10% above and below the 
        // actual range to prevent data points right on grid boundaries. 
        // Don't want to do that here. 
        padMin: 0 
       } 
      }, 

в

axes: { 
       xaxis: { 
         renderer: $.jqplot.CategoryAxisRenderer, 
         ticks: dateArr 
       } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^