X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/94ac90491b67eb843acf5974057c0426e6f4b73a..06ddaedaa98e5ad18bd0a24dcf1313d7f4d2465b:/lib/MECON/Graph.php diff --git a/lib/MECON/Graph.php b/lib/MECON/Graph.php index 36185ac..8d8c579 100644 --- a/lib/MECON/Graph.php +++ b/lib/MECON/Graph.php @@ -75,7 +75,18 @@ class MECON_Graph { * @param int $ancho Ancho del grafico * @param int $alto Alto del grafico * @param string $titulo Titulo del grafico. - * @param array $attrib_gral Contiene opciones generales para el grafico. + * @param array $attrib_gral Contiene opciones generales para el gráfico. + * + * Opciones generales para gráficos XY: + * - XTitulo (Título del Eje X) + * - YTitulo (Título del Eje Y) + * - XEtiquetas (Array de Referencias del eje X) + * - XEtiquetasRotar (Rota las etiquetas del eje X en 90 grados) + * - margenes (array asociativo con alguna/s de las siguientes claves: + * - L (margen izquierdo) + * - R (margen derecho) + * - T (margen superior) + * - B (margen inferior)) * * @return void * @access public @@ -102,6 +113,9 @@ class MECON_Graph { if (isset($attrib_gral['XEtiquetas'])) $this->_grafico->xaxis->SetTickLabels($attrib_gral['XEtiquetas']); + + if (isset($attrib_gral['XEtiquetasRotar'])) + $this->_grafico->xaxis->label_angle = 90; } if(($this->_tipo=="torta")||($this->_tipo=="torta3D")) @@ -121,8 +135,22 @@ class MECON_Graph { $this->_grafico->subtitle->Set($attrib_gral['subTitulo']); if (isset($attrib_gral['verSombra']) and $attrib_gral['verSombra']==true) $this->_grafico->SetShadow(); - - } + + if (isset($attrib_gral['margenes'])){ + if (isset($attrib_gral['margenes']['L'])) + $this->_grafico->img->left_margin = $attrib_gral['margenes']['L']; + + if (isset($attrib_gral['margenes']['R'])) + $this->_grafico->img->right_margin = $attrib_gral['margenes']['R']; + + if (isset($attrib_gral['margenes']['T'])) + $this->_grafico->img->top_margin = $attrib_gral['margenes']['T']; + + if (isset($attrib_gral['margenes']['B'])) + $this->_grafico->img->bottom_margin = $attrib_gral['margenes']['B']; + } + + } /** @@ -146,9 +174,14 @@ class MECON_Graph { * - 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) + * 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)) + * - formatoValores (string con el formato que se quiere dar a los valores + * (sprintf)) + * - noAgregar (Si está seteado indica que la secuencia se genera pero no + * se agrega al gráfico. Se utiliza para gráficos de barras + * acumulativos, donde las secuencias deben agregarse todas + * juntas al final) * * @return plot * @access public @@ -220,7 +253,7 @@ class MECON_Graph { }else { - die ("Error: Tipo de grafico $tipo no valido (aun)"); + trigger_error ("Error: Tipo de grafico $tipo no valido (aun)", E_USER_ERROR); } }//del if tipo xy @@ -256,8 +289,7 @@ class MECON_Graph { $plot->ExplodeAll($atributos['explotar']); }// del if torta - - $this->_grafico->Add($plot); + if (isset($atributos['posLeyenda'])) { @@ -265,7 +297,10 @@ class MECON_Graph { $this->_grafico->legend->ypos = $atributos['posLeyenda'][1]; } - return $plot; + if (!isset($atributos['noAgregar'])) + $this->_grafico->Add($plot); + + return $plot; }