Пример #1
0
 public function createScoreByThemeGraphic($questionnaireId, $userId, $filepath, $verificador = false)
 {
     $graphDefinitions = $this->getScoreByThemeGraphicDefinitions($questionnaireId, $userId, $verificador);
     $graph = new RadarGraph(600, 300);
     $graph->SetColor("white");
     $graph->SetShadow();
     $graph->SetCenter(0.52, 0.55);
     $graph->HideTickMarks();
     $graph->SetTitles($graphDefinitions['ThemeNames']);
     $graph->yscale->SetAutoMax(100);
     $graph->title->Set("Ciclo " . date('Y'));
     $graph->title->SetFont(FF_FONT1, FS_BOLD);
     $graph->axis->SetFont(FF_FONT1, FS_NORMAL);
     $graph->axis->SetWeight(1);
     $graph->axis->SetColor("darkgray");
     $graph->grid->SetLineStyle("dashed");
     $graph->grid->SetColor("darkgray");
     $graph->grid->SetWeight(1);
     $graph->grid->Show();
     $actual = new RadarPlot($graphDefinitions['ThemeScores']);
     $actual->SetColor('darkorchid4', 'bisque');
     $actual->SetLineWeight(4);
     $graph->Add($actual);
     return $graph->Stroke($filepath);
 }
Пример #2
0
 public static function Radar($data)
 {
     require_once __DIR__ . '/../include/jpgraph/jpgraph.php';
     require_once __DIR__ . '/../include/jpgraph/jpgraph_radar.php';
     $graph = new RadarGraph(300, 300);
     $graph->SetScale('lin', 0, 50);
     $graph->yscale->ticks->Set(25, 5);
     $graph->SetColor('white');
     $graph->SetCenter(0.5, 0.55);
     $graph->axis->SetFont(FF_FONT1, FS_BOLD);
     $graph->axis->SetWeight(2);
     // Uncomment the following lines to also show grid lines.
     $graph->grid->SetLineStyle('dashed');
     $graph->grid->SetColor('navy@0.5');
     $graph->grid->Show();
     $graph->ShowMinorTickMarks();
     $graph->title->Set('Quality result');
     $graph->title->SetFont(FF_FONT1, FS_BOLD);
     $titles = array();
     $datas = array();
     foreach ($data as $key => $value) {
         $titles[] = $key;
         $datas[] = $value;
     }
     $graph->SetTitles($titles);
     $plot = new RadarPlot($datas);
     //$plot->SetLegend('Goal');
     //$plot->SetColor('red','lightred');
     //$plot->SetFillColor('lightblue');
     $plot->SetLineWeight(2);
     $graph->Add($plot);
     $graph->Stroke();
 }
Пример #3
0
// Position the graph
$graph->SetCenter(0.4, 0.55);
// Setup the axis formatting
$graph->axis->SetFont(FF_FONT1, FS_BOLD);
// Setup the grid lines
$graph->grid->SetLineStyle("solid");
$graph->grid->SetColor("navy");
$graph->grid->Show();
$graph->HideTickMarks();
// Setup graph titles
$graph->title->Set("Quality result");
$graph->title->SetFont(FF_FONT1, FS_BOLD);
$graph->SetTitles($gDateLocale->GetShortMonth());
// Create the first radar plot
$plot = new RadarPlot(array(70, 80, 60, 90, 71, 81, 47));
$plot->SetLegend("Goal");
$plot->SetColor("red", "lightred");
$plot->SetFill(false);
$plot->SetLineWeight(2);
// Create the second radar plot
$plot2 = new RadarPlot(array(70, 40, 30, 80, 31, 51, 14));
$plot2->SetLegend("Actual");
$plot2->SetLineWeight(2);
$plot2->SetColor("blue");
$plot2->SetFill(false);
// Add the plots to the graph
$graph->Add($plot2);
$graph->Add($plot);
// And output the graph
$graph->Stroke();
Пример #4
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;
 }
Пример #5
0
 public function radarGraph_3(&$data, &$data_pro, $project_id)
 {
     require_once '../app/classes/jpgraph/jpgraph_radar.php';
     require_once '../app/classes/jpgraph/jpgraph_iconplot.php';
     //数组处理
     $title_array = array();
     $sys_array = array();
     $pro_array = array();
     foreach ($data['advantage']['value'] as $value) {
         $data_pro_tmp = $data_pro;
         $title_array[] = $value['chs_name'];
         $sys_array[] = $value['score'];
         $data_pro_tmp = array_flip($data_pro_tmp);
         $key = $data_pro_tmp[trim($value['chs_name'])];
         $pro_array[] = $data_pro[$key + 1];
     }
     foreach ($data['disadvantage']['value'] as $value) {
         $data_pro_tmp = $data_pro;
         $title_array[] = $value['chs_name'];
         $sys_array[] = $value['score'];
         $data_pro_tmp = array_flip($data_pro_tmp);
         $key = $data_pro_tmp[trim($value['chs_name'])];
         $pro_array[] = $data_pro[$key + 1];
     }
     // Create the basic rtadar graph
     $graph = new RadarGraph(600, 450);
     // Set background color and shadow
     $graph->SetColor("white");
     // 		$graph->SetShadow();
     // Position the graph
     $graph->SetCenter(0.45, 0.5);
     $graph->SetTitles($title_array);
     // Setup the axis formatting
     $graph->axis->title->SetFont(FF_CHINESE, FS_NORMAL, 11);
     $graph->axis->SetFont(FF_FONT1, FS_BOLD, 11);
     $graph->axis->SetWeight(1);
     // Setup the grid lines
     $graph->grid->SetLineStyle("solid");
     $graph->grid->SetColor("gray");
     $graph->grid->Show();
     $graph->SetGridDepth(DEPTH_BACK);
     $graph->SetSize(0.6);
     $graph->HideTickMarks();
     // Setup graph titles
     // Create the first radar plot
     $plot = new RadarPlot($pro_array);
     $plot->SetLegend("胜任标准");
     $plot->SetColor("blue", "lightblue");
     $plot->SetFill(false);
     $plot->SetLineWeight(3);
     // Create the second radar plot
     $plot2 = new RadarPlot($sys_array);
     $plot2->SetLegend("个人测评值");
     $plot2->SetColor("red", "lightred");
     $plot2->mark->SetType(MARK_IMG_SBALL, 'red');
     $plot2->SetFill(false);
     $plot2->SetLineWeight(3);
     // Add the plots to the graph
     $graph->Add($plot);
     $graph->Add($plot2);
     $date = date('H_i_s');
     $stamp = rand(100, 900);
     $fileName = './tmp/' . $project_id . $date . '_' . $stamp . '.jpeg';
     $graph->Stroke($fileName);
     return $fileName;
 }
Пример #6
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;
 }