Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/05/2011, 16:31
lea14_9
 
Fecha de Ingreso: febrero-2011
Mensajes: 12
Antigüedad: 13 años, 2 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.