Foros del Web » Programando para Internet » PHP »

Grafico en Php

Estas en el tema de Grafico en Php en el foro de PHP en Foros del Web. Hola, se que hay harta informacion al respecto pero nada me funciona, he visto y usado muchas clases como Jgrid, pChar, GraPHPite, highcharts y la ...
  #1 (permalink)  
Antiguo 20/02/2012, 13:09
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Grafico en Php

Hola, se que hay harta informacion al respecto pero nada me funciona, he visto y usado muchas clases como Jgrid, pChar, GraPHPite, highcharts y la Goochart. Las únicas que me han funcionado a medias es highcharts que no la puedo editar esta hecha en Jquery y la google Goochart que me entrega gráficos pero no me da los nombres. Las otras ni los ejemplos me funcionan, incluso la Jgrid me dice que no se puede mostrar porque tiene errores.

Alguien me podría orientar o decir alguna clase que sea sencilla de implementar, la requiero para hacer gráficos de barras o los típicos círculos. Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 20/02/2012, 13:14
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 13 años, 5 meses
Puntos: 56
Respuesta: Grafico en Php

Deberias probar jpgraph, tienes varios ejemplos en su web y documentacion.

Saludos
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #3 (permalink)  
Antiguo 20/02/2012, 13:19
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Grafico en Php

Si, amigo fue lo primero que hice, pero ni los ejemplos me funcionan, todos me dice que "no se puede mostrar debido a que contiene errores" . Pense que era mi clase la mala, ya que el codigo era copiado y pegado, pero luego descargue un archivo completo con ejemplos y la clase y nada.....
  #4 (permalink)  
Antiguo 20/02/2012, 13:30
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Grafico en Php

que errores te da porque esta clase a mi me corre bien esta clase, de hecho para mi es la más simple de entender, tienes la librería gd instalada??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 20/02/2012, 13:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Grafico en Php

Es muy raro, ¿tienes el soporte para GD activado? Ya que yo también uso mucho jpgraph y funciona muy bien, sin ningún error y hace todo tipo de gráficas...
  #6 (permalink)  
Antiguo 20/02/2012, 13:36
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Grafico en Php

Acabo crear otra carpeta y descomprimir nuevamente la libreria completa. Cree un nuevo proyecto en el dreamweaver y copie y pegue un ejemplo de la pagina, corregi los require_once para darles bien la ubicación y wuaala! funciono por lo menos el ejemplo. Alguien por ahi tiene algun ejemplo hecho con acceso a Mysql y gráficas?..... Gracias!!!
  #7 (permalink)  
Antiguo 20/02/2012, 13:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Grafico en Php

No tengo un ejemplo a la mano pero es sencillo, simplemente agarra cualquier ejemplo de los que viene en el paquete y revisa como se generan los datos y simplemente genera esos datos desde mysql, por ejemplo, si los datos son:
Código PHP:
Ver original
  1. $data = array(1, 3, 15, 20, 10, 2, 2, 10);

Desde PHP genera esos datos con MySQL:
Código PHP:
Ver original
  1. $query = "SELECT field FROM table";
  2. $data = array();
  3. $result = mysql_query($query);
  4. while ($row = mysql_fetch_row($result)) {
  5.       $data[] = $row[0];
  6. }

Saludos.
  #8 (permalink)  
Antiguo 20/02/2012, 13:43
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Grafico en Php

En la documentación tienes ejemplos por montones

Exacto, si sabes armar un array con PHP no vas a tener problemas.

http://jpgraph.net/download/manuals/chunkhtml/

A mi también me gusta bastante jpgraph.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 20/02/2012, 13:43
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Grafico en Php

Gracias GatorV .... Jejejeje ya lo hice con este codigo:

Código:
$consulta="SELECT * FROM inventario order by cantidad desc limit 10";
$resultado=mysql_query($consulta, $conexion);

$i=0;
while($registro=mysql_fetch_array($resultado)) {
$nombre[$i]=$registro["nombre"];
$cantidad[$i]=$registro["cantidad"];
$i++;
}
Pero los nombres no se ven porque son muy grandes. Como configuro para que queden sobre las barras u otra configuración para que se vean???


GRACIAS!
  #10 (permalink)  
Antiguo 20/02/2012, 13:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Grafico en Php

Ahí mismo en los ejemplos te lo dice, también puedes hacer una leyenda mejor, o ajustar la fuente, tienes muchísimas opciones para hacerlo.
  #11 (permalink)  
Antiguo 20/02/2012, 13:55
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Grafico en Php

acá comparti una clase que he utilizado como wrapper para crear los gráficos en jpgraph, aunque tiene dos mayormente he usado el grafico de pie se usa así
Código PHP:
Ver original
  1. <?php
  2. require_once 'graph/WrapperGraph.php';
  3. $graphSize = array('width' => 350, 'height' => 250);
  4. $data = array('aprobados'=>array(1,'red'),'reprobados'=>array(1,'blue'));
  5. $graph = new WrapperGraph('jpgraph_pie', $graphSize);
  6. $graph->createPieGrap($data);
para agregar mas gráficos lo que habría es que crear algunos métodos más para el gráfico que necesites, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #12 (permalink)  
Antiguo 20/02/2012, 14:02
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Grafico en Php

Me dio error

"No se puede mostrar la imagen "ejemplo3.php" porque contienen errores"

Era lo mismo que me daba antes.
  #13 (permalink)  
Antiguo 20/02/2012, 14:08
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Grafico en Php

muestrnos el código como lo estas realizando, para poderte ayudar
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #14 (permalink)  
Antiguo 20/02/2012, 14:11
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Grafico en Php

La clase del link la nombre wrapper.php y esta en la misma carpeta.

Código:
   <?php
    require_once 'wrapper.php';
    $graphSize = array('width' => 350, 'height' => 250);
    $data = array('aprobados'=>array(1,'red'),'reprobados'=>array(1,'blue'));
    $graph = new WrapperGraph('jpgraph_pie', $graphSize);
    $graph->createPieGrap($data);
	?>
  #15 (permalink)  
Antiguo 20/02/2012, 14:21
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Grafico en Php

y en esa misma carpeta tienes la carpeta con la librería jpgraph?? fijate que en el archivo que contiene la clase WrapperGraph esta incluida la librería jpgraph
Código PHP:
Ver original
  1. require_once 'jpgraph/src/jpgraph.php';
y cuando llamas a este método también hacen los require de los archivos necesarios, para montar este tipo de gráfico, la estructura en tu caso debería de estar así

tu_carpeta
---WrapperGraph.php
---archivo_del_grafico.php
---jpgrahp //esta es la carpeta yo la renombre a jpgraph le quite la versión puede que ahi este el dilema
------src
---------//todos los archivos dentro de esta carpeta
------docs
---------//lo que esta en la carpeta docs

ahora revisa si el nombre de la carpeta que contiene el jpgraph ya que lo mas seguro es que sea problemas de ruta, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #16 (permalink)  
Antiguo 20/02/2012, 14:37
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Grafico en Php

Esto es lo que tengo:

Capetas:

MI_CARPETA
---WrapperGraph.php
---archivo_del_grafico.php
---jpgrahp ////todos los archivos dentro de esta carpeta
------docs
---------//lo que esta en la carpeta docs


Este es el archivo wrapper.php

Código:
<?php
require_once 'jpgraph/jpgraph.php';
/**
* @class Wrapper Graph for generate the JpGraph
*
* @author carlos belisario <[email protected]>
* @version 1.0
*/
class WrapperGraph
{
    /**
*
* @var Graph
*/
    private $jpgrap;
    
    /**
*
* @var array
*/
    private $size;
    
    /**
*
* @param String $typeGraph
* @param array $size array associative whit the key width and heigth *
*/
    public function __construct($typeGraph, array $size)
    {
        require_once "jpgraph/$typeGraph.php";
        $this->size = $size;
        $this->jpgrap = new Graph($size['width'], $size['height']);
    }
           
    /**
*
* @param array $data data of the graph
* @param bool $show if true shows the graph, otherwise save the graphic in a image archive
* @param $graphName name of the graph for save
* @return void
* @generate the LineGraph
*/
    public function createLineGraph(array $data, $show = true, $graphName = 'LineGraph')
    {
        $this->jpgrap->SetScale('intlin');
        if(isset($data['title'])) {
            $this->jpgrap->title->set($data['title']);
        }
        $linePlot = new LinePlot($data);
        $this->jpgrap->Add($linePlot);
        if($show) {
            $this->jpgrap->Stroke();
        } else {
            $this->jpgrap->Stroke($graphName . 'png');
            return $nameGraph . ".png";
        }
    }
    
    public function createPieGrap(array $datas, $show = true, $nameGraph = 'PieGraph')
    {
        require_once 'jpgraph/jpgraph_pie3d.php';
        foreach ($datas as $key => $value){
            $data[] = $value[0];
            $nombres[] = $key;
            $color[] = $value[1];
        }
        
        $graph = new PieGraph($this->size['width'], $this->size['height']);
        if(!empty($titulo)){
            $graph->title->Set($titulo);
        }
        //Create the plot 3D
        $p1 = new PiePlot3D($data);
        //set the colors
        $p1->SetSliceColors($color);
        $p1->SetLegends($nombres);
        $graph->Add($p1);
        if($show) {
            $graph->Stroke();
        } else {
            $graph->Stroke("$nameGraph.png");
            return $nameGraph . ".png";
        }
    }
    
}
?>
  #17 (permalink)  
Antiguo 20/02/2012, 14:43
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Grafico en Php

interesante en jpgraph tienes todos los archivos de la librería, que extraño que no te haya traído la carpeta src, sin embargo en teoría debería de funcionarte ya que solo son require a las clases que se necesitan, has esta prueba inicializa el constructor sin llamar al método createPieGrap a ver si te da algún error??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #18 (permalink)  
Antiguo 20/02/2012, 14:48
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Grafico en Php

Para crear gráficos me funciona pero directamente sin usar el wrapper.php, lo raro es que hasta el error lo da en imagen. La carpeta src la quite y subí los archivos. Por el momento lo estoy haciendo de forma manual el gráfico (llamando la clase directamente desde el archivo que quiero el gráfico). Lo que aun no puedo hacer es poner los label (nombres de cada barra) sobre la barras, ya pude darles inclinación.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:38.