* @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
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"))
$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'];
+ }
+
+ }
/**
* - 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
}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
$plot->ExplodeAll($atributos['explotar']);
}// del if torta
-
- $this->_grafico->Add($plot);
+
if (isset($atributos['posLeyenda']))
{
$this->_grafico->legend->ypos = $atributos['posLeyenda'][1];
}
- return $plot;
+ if (!isset($atributos['noAgregar']))
+ $this->_grafico->Add($plot);
+
+ return $plot;
}
* $v2 = array(1,28,9,13,1,5);
*
* $graph =& new MECON_Graph ("xy", 300, 300, 'PRUEBA');
- *
- * $attribs1 = array('colorRelleno'=>'green');
- * $attribs2 = array('colorRelleno'=>'orange');
*
- * $b1plot = $graph->agregarSecuencia("barras", $v1, $attribs1);
- * $b2plot = $graph->agregarSecuencia("barras", $v2, $attribs2);
+ * $b1plot = $graph->agregarSecuencia("barras", $v1);
+ * $b2plot = $graph->agregarSecuencia("barras", $v2);
*
* $graph->acumular(array($b1plot, $b2plot));
* $graph->generar();
*/
function acumular ($secuencias)
{
+ $rgb = new RGB();
+ $colores = array_keys ($rgb->rgb_table);
+
+ // Esto pinta cada secuencia de un color diferente
+ for ($i=0; $i< count($secuencias); $i++)
+ $secuencias[$i]->SetFillColor ($colores[$i]);
+
$accplot = new AccBarPlot($secuencias);
$this->_grafico->Add($accplot);
}