Foros del Web » Programando para Internet » PHP »

Crear una gráfica con PHP

Estas en el tema de Crear una gráfica con PHP en el foro de PHP en Foros del Web. Hola! Tengo que crear una gráfica con PHP. He visto varias librerias (JpGraph, RChart, ...) pero ninguna soluciona lo que quiero. Necesito una gráfica bidimensional ...
  #1 (permalink)  
Antiguo 27/10/2008, 08:36
 
Fecha de Ingreso: agosto-2005
Mensajes: 14
Antigüedad: 19 años, 3 meses
Puntos: 0
Crear una gráfica con PHP

Hola!

Tengo que crear una gráfica con PHP. He visto varias librerias (JpGraph, RChart, ...) pero ninguna soluciona lo que quiero.

Necesito una gráfica bidimensional (x/y) donde se muestre una progresión de la clasficación de un equipo de futbol. Es decir, que los puestos más bajos (1º, 2º, 3º...) vayan en el eje Y pero de arriba a abajo. Todas las gráficas que he visto si un equipo está en la posición 1 y luego baja a la 3, lo muestran ascendente, cuando debería ser una línea descendente.

He probado con jpgraph a poner los números negativos, pero no hay forma de poner los números absolutos, sino que me muestra (-1, -3, -10...)

Espero haberme explicado.

Un saludo y gracias de antemano.
  #2 (permalink)  
Antiguo 27/10/2008, 08:56
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: Crear una gráfica con PHP

yo creo que con jpgraph, si que puedes hacerlo (ojo, no he usado esta libreria) pero viendo algunso ejemplos (este, por ejemplo: ) creo que si podrias conseguirlo, simplemente debes poner en el eje x las jornadas y en el y, la posicion de esa jornada que ocupa el equipo.
creo que de ese modo, podrias conseguirlo

un saludo!
  #3 (permalink)  
Antiguo 27/10/2008, 09:36
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 17 años, 5 meses
Puntos: 49
Respuesta: Crear una gráfica con PHP

Que tal BUZZHACKER, miraste la documentación de la librería JPGraph en la página?, hay varios ejemplos al respecto solo es cuestión que los adaptes atus necesidades.



Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #4 (permalink)  
Antiguo 13/05/2011, 16:31
 
Fecha de Ingreso: febrero-2011
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Crear una gráfica con PHP

Hola BUZZHACKER.
Leí el tema que escribiste porque también tengo que hacer algo como lo que planteaste.
Estuve experimentando con JpGraph, porque leí que era una buena herramienta para hacer gráficos, e hice lo siguiente en php:
Código PHP:
Ver original
  1. <?php // content="text/plain; charset=utf-8"
  2. include("jpgraph-3.5.0b1/src/jpgraph.php");
  3. include("jpgraph-3.5.0b1/src/jpgraph_line.php");
  4.  
  5. // Función que niega el argumento.
  6. function _cb_negate($valor) {
  7.     return round(-$valor);
  8. }
  9.  
  10. // Datos a ordenar de mayor a menor.
  11. $datosy = array(6, 3, 6, 6, 5, 6, 6, 5);
  12.  
  13. // Niega todos los datos.
  14. $n = count($datosy);
  15. for($i = 0; $i < $n; ++$i) {
  16.     $datosy[$i] = round(-$datosy[$i]);
  17. }
  18.  
  19. // Configuración del gráfico.
  20. $grafico = new Graph(400, 300);
  21. $grafico -> SetScale("textint");
  22. $grafico -> SetAxisStyle(AXSTYLE_YBOXIN);
  23.  
  24. $grafico -> title -> Set("Posiciones por Fecha");
  25. $grafico -> title -> SetFont(FF_ARIAL, FS_BOLD);
  26. $grafico -> title -> SetColor("#000000");
  27.  
  28. $grafico -> SetBox(false);
  29. $grafico -> img -> SetAntiAliasing(false);
  30.  
  31. // Configuración de los ejes.
  32. $grafico -> xaxis -> SetTitle("Fechas","middle");
  33. $grafico -> xaxis -> SetColor("#E3E3E3", "#000000");
  34. $grafico -> xgrid -> Show();
  35. $grafico -> xgrid -> SetLineStyle("solid");
  36. $grafico -> xgrid -> SetColor("#E3E3E3");
  37.  
  38. $grafico -> yaxis -> SetTitle("Posición","middle");
  39. $grafico -> yaxis -> SetColor("#E3E3E3", "#000000");
  40. $grafico -> yaxis -> SetLabelFormatCallback("_cb_negate");
  41. $grafico -> ygrid -> SetFill(true,"#FFFFFF","#FFFFFF"); // también se puede poner SetFill(false);
  42.  
  43. $linea = new LinePlot($datosy);
  44. $linea -> SetColor("#0099FF");
  45. $linea -> SetWeight(2);
  46.  
  47. $grafico -> Add($linea);
  48. $grafico -> Stroke();
  49. ?>
Crea una gráfica de un equipo que jugó 8 partidos y entre todas las jornadas estuvo en los puestos 3º, 4º, y 5º.
Lo único que no pude hacer es poner la escala del eje Y del lado izquierdo solamente. Tuve que ponerlo así (con SetAxisStyle(AXSTYLE_YBOXIN);)porque sino no me mostraba el eje X.
Fijate si te sirve y hacele los cambios que sean necesarios. Saludos.
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.
Tema Cerrado




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