X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/e78837ddf2655c11a5bc4765eb5b85fc66473d7c..3a1af669c482f182bda2e500e87526b5d33c8372:/lib/MECON/Graph.php diff --git a/lib/MECON/Graph.php b/lib/MECON/Graph.php index 088a425..9f877aa 100644 --- a/lib/MECON/Graph.php +++ b/lib/MECON/Graph.php @@ -81,7 +81,7 @@ class MECON_Graph { * @access public */ function MECON_graph($tipo, $ancho=300, $alto=200,$titulo,$attrib_gral=NULL) - { + { $this->_tipo=$tipo; $this->_ancho= $ancho; $this->_alto= $alto; @@ -93,10 +93,10 @@ class MECON_Graph { { $this->_grafico= new Graph($ancho,$alto,"auto"); $this->_grafico->SetScale("textlin"); - + if (isset($attrib_gral['Xtitulo'])) - $this->_grafico->xaxis->title->Set($attrib_gral['Xtitulo']); - + $this->_grafico->xaxis->title->Set($attrib_gral['Xtitulo']); + if (isset($attrib_gral['Ytitulo'])) $this->_grafico->yaxis->title->Set($attrib_gral['Ytitulo']); @@ -119,10 +119,9 @@ class MECON_Graph { $this->_grafico->title-> Set($titulo); if (isset($attrib_gral['subTitulo'])) $this->_grafico->subtitle->Set($attrib_gral['subTitulo']); - if ($attrib_gral['verSombra']==true) - { + if (isset($attrib_gral['verSombra']) and $attrib_gral['verSombra']==true) $this->_grafico->SetShadow(); - } + } @@ -133,6 +132,24 @@ class MECON_Graph { * @param array $secuencia Datos del arreglo * @param array $atributos Atributos especiales para la secuencia * + * Tipos de secuencias para gráficos xy: + * - lineas + * - barras + * - puntos + * + * Atributos: + * - color + * - colorRelleno + * - leyenda + * - impulso ("si") (solamente para puntos) + * - tipoMarca (de 1 a 17) (solamente para puntos) + * - etiquetas (array) (para gráficos de torta muestra las etiquetas + * en lugar de los porcentajes) + * - explotar (para torta y torta3D) (valor que indica la separación de + * de las porciones de la torta) + * - posLeyenda (array con dos coordenadas para la posición de la leyenda) + * - formatoValores (string con el formato que se quiere dar a los valores (sprintf)) + * * @return void * @access public */ @@ -147,6 +164,10 @@ class MECON_Graph { $valido=true; require_once 'MECON/Graph/external/jpgraph/src/jpgraph_line.php'; $plot= new LinePlot($secuencia); + + if (isset($atributos['formatoValores'])) + $plot->value->format = $atributos['formatoValores']; + if ($this->_verValores) $plot->value->Show(); @@ -163,9 +184,18 @@ class MECON_Graph { $valido=true; require_once 'MECON/Graph/external/jpgraph/src/jpgraph_bar.php'; $plot= new BarPlot($secuencia); + + if (isset($atributos['formatoValores'])) + $plot->value->format = $atributos['formatoValores']; + if ($this->_verValores) $plot->value->Show(); + if (isset($atributos['colorRelleno'])) + { + $plot->SetFillColor($atributos['colorRelleno']); + } + } if ($tipo=="puntos") @@ -173,8 +203,20 @@ class MECON_Graph { $valido=true; require_once 'MECON/Graph/external/jpgraph/src/jpgraph_scatter.php'; $plot= new ScatterPlot($secuencia); + + if (isset($atributos['formatoValores'])) + $plot->value->format = $atributos['formatoValores']; + if ($this->_verValores) $plot->value->Show(); + + if (isset($atributos['colorRelleno'])){ + $plot->mark->SetFillColor($atributos['colorRelleno']); + } + + if (isset($atributos['tipoMarca'])){ + $plot->mark->SetType($atributos['tipoMarca']); + } if (isset($atributos['impulso'])) { @@ -192,7 +234,7 @@ class MECON_Graph { { $plot->SetLegend($atributos['leyenda']); //$this->_grafico->legend->SetLayout(LEGEND_HOR); - //$this->_grafico->legend->Pos(0.05,0.5,"bottom","center"); + $this->_grafico->legend->Pos(0.02,0.01); } @@ -221,6 +263,12 @@ class MECON_Graph { $plot->SetLegends($atributos['leyendas']); } + if (isset($atributos['etiquetas'])) + { + $plot->SetLabels($atributos['etiquetas']); + } + + if (isset($atributos['centro'])) { $x=$atributos['centro'][0]; @@ -228,13 +276,19 @@ class MECON_Graph { $plot->SetCenter($x,$y); } + if (isset($atributos['explotar'])){ + $plot->ExplodeAll($atributos['explotar']); + } + } $this->_grafico->Add($plot); + if (isset($atributos['posLeyenda'])){ + $this->_grafico->legend->xpos = $atributos['posLeyenda'][0]; + $this->_grafico->legend->ypos = $atributos['posLeyenda'][1]; + } } - - /** * Genera el grafico y lo dibuja.