]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Graph.php
Acomode la funcion getValue para que funcione correctamente con los nuevos
[mecon/meconlib.git] / lib / MECON / Graph.php
index 088a425c223cb4004a22a58b1f9e48d6d740104e..14edce77f1ac5fb058d1fb04ee9f2114ba6ca9f2 100644 (file)
@@ -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,23 @@ 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)
+     *
      * @return void
      * @access public
      */
@@ -166,6 +182,11 @@ class MECON_Graph {
                 if ($this->_verValores)
                     $plot->value->Show();
 
+                if (isset($atributos['colorRelleno']))
+                {
+                    $plot->SetFillColor($atributos['colorRelleno']);
+                }
+
             }
         
             if ($tipo=="puntos")
@@ -175,6 +196,14 @@ class MECON_Graph {
                 $plot= new ScatterPlot($secuencia);
                 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 +221,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 +250,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 +263,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.