¿Cómo se muestran varias columnas apiladas para cada intervalo de fechas en una barra apilada?

Esencialmente, el propósito es comparar las categorías de tareas que cada miembro de mi equipo realiza semanalmente.

y me gustaría agregar el número de semanas debajo de los ejes en lugar de 1.0, 2.0 y 3.0.

Estoy obteniendo un resultado incorrecto ya que solo muestra 1 para excelente y para toda la semana1, semana2, semana3, semana4

Seleccioné el día de inicio el 1/12/2014 y la fecha de finalización es el 31/12/2014, por lo que esperaba tener 1 para mal y dos para bien y tres para excelente.

Este es mi código PHP

<?php>
$result = mysqli_query($con,"SELECT * FROM `employees` WHERE  `Date` BETWEEN  '" . $_POST     
['start'] . "' AND  '" . $_POST ['end'] . "' ") or die ("Error: ".mysqli_error($con));

$Levels = 0;
        $Levelscounter=0;
        $countergood=0;
        $counterbad=0;
        while($row = mysqli_fetch_array($result))
         {
            $answer = $row['level'];


                 $bad = 'bad';
                 $good='good';
                 $excellent='excellent';
                  if ($answer == $bad)

             {
                $counterbad++;
             }
             if($answer == $good)
             {
               $countergood++;
             }
             if($answer == $excellent)
             {
               $counterexcellent++;
             }
             $Levelscounter;
                        }
             mysqli_close($con); 
        ?>

Aquí está mi código JavaScript:

       <script type="text/javascript">
         (function($) {
          var series = [{
          data: [[ 1,<?php echo $counterbad; ?>] ],
               valueLabels: {
               show: true,
               valign: 'middle'
                }     ,
         label: "Low"
         },
         {
       data: [[1,<?php echo $countergood; ?>]], 
           valueLabels: {
    show: true,
    valign: 'middle'
}     ,

    label: "Medium"
   }, {
    data: [[1,<?php echo $counterexcellent; ?>]],
     valueLabels: {
    show: true,
    valign: 'middle'
   }     ,
    label: "High"
   }];

    var options = {
    xaxis: {
        minTickSize: 1
    },
    series: {
        bars: {
            show: true,
            barWidth: .8,
            align: "center"
        },
        stack: true
    }
   };

  $.plot("#placeholder", series, options);
  })(jQuery);
 </script>

Obtuve los niveles que se muestran en el gráfico apilado y funciona bien desde la fecha de inicio y finalización que seleccioné, pero podría mostrar este resultado como un resultado semanal. Me gustaría tener ideas, ¿qué necesito agregar? Alguna idea por favor? ¿Hay una función en PHP que resuelva esto?

Gracias.

Actualización

Como puede ver en los números de imagen en cada serie relacionados con malo, bueno, excelente. rojo para mal y bueno para azul y amarillo para excelente.

Respuestas a la pregunta(1)

Su respuesta a la pregunta