예제 #1
0
 /**
  * 
  * Utiliza lib jpgraph
  * 
  * @param type $arrCriteria
  * @param type $arrRadarData
  * @param type $arrTabulation
  * @param type $arrPunctuation
  * @param type $dirName
  * @return boolean|string
  */
 public function makeRadarPlot($arrCriteria, $arrRadarData, $arrTabulation, $arrPunctuation, $dirName)
 {
     // content="text/plain; charset=utf-8"
     require_once APPLICATION_PATH_LIBS . '/jpgraph/src/jpgraph.php';
     require_once APPLICATION_PATH_LIBS . '/jpgraph/src/jpgraph_radar.php';
     $criterios = array();
     foreach ($arrCriteria as $chave => $valor) {
         $criterios[$chave] = utf8_decode(" " . $chave . " - " . $valor);
     }
     if (!is_array($arrRadarData)) {
         return false;
     }
     $titles = array_values($criterios);
     $data = array_values($arrRadarData);
     $graph = new RadarGraph(635, 355);
     $graph->SetShadow();
     $graph->SetScale('lin', $aYMin = 0, $aYMax = 100);
     $graph->yscale->ticks->Set(50, 10);
     $graph->title->Set("Porcentagem de acertos por Critério");
     $graph->title->SetFont(FF_VERDANA, FS_NORMAL, 12);
     //$graph->subtitle->Set("Pontuação por Critério em %");
     //$graph->subtitle->SetFont(FF_VERDANA,FS_ITALIC,10);
     $graph->SetTitles($titles);
     $graph->SetCenter(0.5, 0.54);
     //$graph->HideTickMarks();
     $graph->ShowMinorTickMArks();
     $graph->SetColor('white');
     $graph->grid->SetLineStyle('dashed');
     $graph->axis->SetColor('darkgray@0.3');
     $graph->grid->SetColor('darkgray@0.3');
     $graph->grid->Show();
     $graph->SetGridDepth(DEPTH_BACK);
     $plot = new RadarPlot($data);
     $plot->SetColor('red@0.2');
     $plot->SetLineWeight(3);
     $plot->SetFillColor('skyblue4@0.7');
     $graph->Add($plot);
     $radarPath = $dirName . "radarTMP.png";
     $graph->Stroke($radarPath);
     return $radarPath;
 }
예제 #2
0
 /**
  * 
  * 
  * @param type $arrCriteria
  * @param type $arrRadarData
  * @param type $arrTabulation
  * @param type $arrPunctuation
  * @param type $dirName
  * @return boolean|string
  */
 public function makeRadarPlot($arrCriteria, $arrRadarData, $arrTabulation, $arrPunctuation, $dirName, $strCiclo)
 {
     //        var_dump('arrCriteria: ',$arrCriteria);
     //        echo "<br><br>";
     //var_dump('arrRadarData: ',$arrRadarData);
     //echo "<br><br>";
     //        var_dump('arrTabulation: ',$arrTabulation);
     //        echo "<br><br>";
     //        var_dump('arrPunctuation: ',$arrPunctuation);
     //
     //        //exit;
     // content="text/plain; charset=utf-8"
     require_once APPLICATION_PATH_LIBS . '/jpgraph/src/jpgraph.php';
     require_once APPLICATION_PATH_LIBS . '/jpgraph/src/jpgraph_radar.php';
     $criterios = array();
     $criterios[1] = utf8_decode($arrCriteria[1]);
     $criterios[8] = utf8_decode($arrCriteria[8]);
     $criterios[7] = utf8_decode($arrCriteria[7]);
     $criterios[6] = utf8_decode($arrCriteria[6]);
     $criterios[5] = utf8_decode($arrCriteria[5]);
     $criterios[4] = utf8_decode($arrCriteria[4]);
     $criterios[3] = utf8_decode($arrCriteria[3]);
     $criterios[2] = utf8_decode($arrCriteria[2]);
     //var_dump('criterios: ', $criterios);
     //echo "<br><br>";
     if (!is_array($arrRadarData)) {
         return false;
     }
     //mudanca de ultima hora para alterar o sentido no print do radar na devolutiva.
     //nao ha um metodo na lib jpgraph que altere o sentido de rotacao ao printar o grafico radar.
     $arrRadarDataMartelada = array();
     $arrRadarDataMartelada[1] = $arrRadarData[1];
     $arrRadarDataMartelada[8] = $arrRadarData[8];
     $arrRadarDataMartelada[7] = $arrRadarData[7];
     $arrRadarDataMartelada[6] = $arrRadarData[6];
     $arrRadarDataMartelada[5] = $arrRadarData[5];
     $arrRadarDataMartelada[4] = $arrRadarData[4];
     $arrRadarDataMartelada[3] = $arrRadarData[3];
     $arrRadarDataMartelada[2] = $arrRadarData[2];
     $titles = array_values($criterios);
     //$data = array_values($arrRadarData);
     //implementa martelada
     $data = array_values($arrRadarDataMartelada);
     //var_dump('arrRadarDataMartelada', $arrRadarDataMartelada);
     //echo "<br><br>";
     //var_dump('data', $data);
     $this->setArrCriteria($arrCriteria);
     $this->setArrPunctuation($arrPunctuation);
     $this->setArrRadarData($arrRadarData);
     $this->setArrTabulation($arrTabulation);
     $graph = new RadarGraph(635, 355);
     $graph->SetShadow();
     $graph->SetScale('lin', $aYMin = 0, $aYMax = 100);
     $graph->yscale->ticks->Set(50, 10);
     //$graph->title->Set("Porcentagem de acertos por Critério");
     $programaTipo = Zend_Registry::get('programaTipo');
     $strCiclo = $programaTipo != 'MpeBrasil' ? '' : ' Ciclo ' . $strCiclo;
     $tituloCiclo = "Desempenho da Empresa" . $strCiclo;
     $graph->title->Set($tituloCiclo);
     $graph->title->SetFont(FF_VERDANA, FS_NORMAL, 12);
     //$graph->subtitle->Set("Pontuação por Critério em %");
     //$graph->subtitle->SetFont(FF_VERDANA,FS_ITALIC,10);
     $graph->SetTitles($titles);
     $graph->SetCenter(0.5, 0.54);
     //$graph->HideTickMarks();
     $graph->ShowMinorTickMArks();
     $graph->SetColor('white');
     $graph->grid->SetLineStyle('dashed');
     $graph->axis->SetColor('darkgray@0.3');
     $graph->grid->SetColor('darkgray@0.3');
     $graph->grid->Show();
     $graph->SetGridDepth(DEPTH_BACK);
     $plot = new RadarPlot($data);
     $plot->SetColor('red@0.2');
     $plot->SetLineWeight(3);
     $plot->SetFillColor('skyblue4@0.7');
     $graph->Add($plot);
     $radarPath = $dirName . "radarTMP.png";
     $graph->Stroke($radarPath);
     return $radarPath;
 }