Foros del Web » Programando para Internet » PHP »

Problema con jpgraph y postgresql

Estas en el tema de Problema con jpgraph y postgresql en el foro de PHP en Foros del Web. hola amigos espero me puedan ayudar, estoy empezando a trabajar con jpgraph y necesito plotear una consulta a una base datos. tome como referencia el ...
  #1 (permalink)  
Antiguo 28/08/2012, 22:30
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Problema con jpgraph y postgresql

hola amigos espero me puedan ayudar, estoy empezando a trabajar con jpgraph y necesito plotear una consulta a una base datos.

tome como referencia el ejemplo que se encuentra en la documentacion.

en el dataset01.inc.php
los datos estan de la siguiente manera

$ydata = array(
0 => 1.0885908919277, 1 =>
0.99034385297982, 2 => 0.97005467188578, 3 =>..............

$xdata = array(

0 => 444348000, 1 => 446853600, 2 =>
449532000, 3 => 452124000, 4 =>..................................

Código PHP:
Ver original
  1. include('inc/jpgraph.php');
  2. include('inc/jpgraph_line.php');
  3. include('inc/jpgraph_date.php');
  4. include('inc/jpgraph_utils.inc.php');
  5.  
  6. // Get a dataset stored in $xdata and $ydata
  7. include('inc/dataset01.inc.php');
  8.  
  9.  
  10. $dateUtils = new DateScaleUtils();
  11.  
  12. // Setup a basic graph
  13. $width=700; $height=400;
  14. $graph = new Graph($width, $height);
  15. $graph->SetScale('datlin');
  16. $graph->SetMargin(60,20,40,60);
  17.  
  18. // Setup the titles
  19. $graph->title->SetFont(FF_ARIAL,FS_BOLD,12);
  20. $graph->title->Set('Development since 1984');
  21. $graph->subtitle->SetFont(FF_ARIAL,FS_ITALIC,10);
  22. $graph->subtitle->Set('(Example using the builtin date scale)');
  23.  
  24. // Setup the labels to be correctly format on the X-axis
  25. $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
  26. $graph->xaxis->SetLabelAngle(30);
  27.  
  28. $lp1 = new LinePlot($ydata,$xdata);
  29. $lp1->SetWeight(0);
  30. $lp1->SetFillColor('[email protected]');
  31. $graph->Add($lp1);
  32.  
  33. // And then add line. We use two plots in order to get a
  34. // more distinct border on the graph
  35. $lp2 = new LinePlot($ydata,$xdata);
  36. $lp2->SetColor('orange');
  37. $graph->Add($lp2);
  38.  
  39. // And send back to the client
  40. $graph->Stroke();


los datos devuelos por la consulta son los siguientes

campo 1 campo 2
timestamp with time zone real
"2012-06-27 00:00:46-05" 2
"2012-06-27 00:07:34-05" 5
"2012-06-27 00:13:03-05" 20
"2012-06-27 00:15:19-05" 15
"2012-06-27 00:22:19-05" 10


y mi codigo es el siguiente

Código PHP:
Ver original
  1. include('inc/jpgraph.php');
  2. include('inc/jpgraph_line.php');
  3. include('inc/jpgraph_date.php');
  4. include('inc/jpgraph_utils.inc.php');
  5.  
  6. $dateUtils = new DateScaleUtils();
  7.  
  8.  
  9. $width=700; $height=400;
  10. $graph = new Graph($width, $height);
  11. $graph->SetScale('datlin');
  12. $graph->SetMargin(60,20,40,60);
  13.  
  14. $graph->title->SetFont(FF_ARIAL,FS_BOLD,12);
  15. $graph->title->Set('Development since 1984');
  16. $graph->subtitle->SetFont(FF_ARIAL,FS_ITALIC,10);
  17. $graph->subtitle->Set('(Example using the builtin date scale)');
  18.  
  19.  
  20. $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
  21. $graph->xaxis->SetLabelAngle(30);
  22.  
  23.                 $servidor = 'localhost';
  24.         $bd = 'tremor';
  25.         $usuario = 'postgres';
  26.         $contrasenia = '*****';
  27.         $tabla = 'tremor';
  28.        
  29.  
  30.         global $servidor, $bd, $usuario, $contrasenia;
  31.         $db = new PDO('pgsql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia);
  32.  
  33.         $consulta = $db->prepare("SELECT campo5, campo1 FROM tremor");
  34.         $consulta->execute();
  35.  
  36.         while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  37.         {
  38.         $xdata[] = $fila['campo5'];
  39.         $ydata[] = $fila['campo1'];
  40.  
  41.         }
  42.  
  43.  
  44. $lp1 = new LinePlot($ydata,$xdata);
  45. $lp1->SetWeight(0);
  46. $lp1->SetFillColor('[email protected]');
  47. $graph->Add($lp1);
  48.  
  49.  
  50. $lp2 = new LinePlot($ydata,$xdata);
  51. $lp2->SetColor('orange');
  52. $graph->Add($lp2);
  53.  
  54.  
  55. $graph->Stroke();


el error que obtengo es el siguiente:
cannot use auto scaling since it is impossible to determine a valid min/max value of the y-axis (only null values)
  #2 (permalink)  
Antiguo 28/08/2012, 22:45
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con jpgraph y postgresql

Qué hay en $xdata y $ydata?

var_dump($xdata, $ydata);
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 28/08/2012, 22:57
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

triby gracias por responder

hice lo que me indicaste var_dump($xdata, $ydata);

array(1) { [0]=> string(22) "2012-06-27 00:13:03-05" } array(1) { [0]=> string(1) "3" } array(2) { [0]=> string(22) "2012-06-27 00:13:03-05" [1]=> string(22) "2012-06-27 00:15:19-05" } array(2) { [0]=> string(1) "3" [1]=> string(1) "3" } array(3) { [0]=> string(22) "2012-06-27 00:13:03-05" [1]=> string(22) "2012-06-27 00:15:19-05" [2]=> string(22) "2012-06-27 00:00:46-05" } array(3) { [0]=> string(1) "3" [1]=> string(1) "3" [2]=> string(1) "3" } array(4) { [0]=> string(22) "2012-06-27 00:13:03-05" [1]=> string(22) "2012-06-27 00:15:19-05" [2]=> string(22) "2012-06-27 00:00:46-05" [3]=> string(22) "2012-06-27 00:07:34-05" } array(4) { [0]=> string(1) "3" [1]=> string(1) "3" [2]=> string(1) "3" [3]=> string(1) "3" } array(5) { [0]=> string(22) "2012-06-27 00:13:03-05" [1]=> string(22) "2012-06-27 00:15:19-05" [2]=> string(22) "2012-06-27 00:00:46-05" [3]=> string(22) "2012-06-27 00:07:34-05" [4]=> string(22) "2012-06-27 00:22:19-05" } array(5) { [0]=> string(1) "3" [1]=> string(1) "3" [2]=> string(1) "3" [3]=> string(1) "3" [4]=> string(1) "3" } JpGraph Error Either X or Y data arrays contains non-numeric values. Check that the data is really specified as numeric data and not as strings. It is an error to specify data for example as '-2345.2' (using quotes).
  #4 (permalink)  
Antiguo 28/08/2012, 23:31
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

pase la fecha timestamp with time zone a fecha unix mediante

SELECT campo5, campo1, EXTRACT(epoch FROM campo1)AS fechas1 FROM tremor;

y con var_dump($xdata, $ydata);

tuve en el siguiente resultado

array(1) { [0]=> string(10) "1340773983" } array(1) { [0]=> string(2) "10" } array(2) { [0]=> string(10) "1340773983" [1]=> string(10) "1340774119" } array(2) { [0]=> string(2) "10" [1]=> string(2) "50" } array(3) { [0]=> string(10) "1340773983" [1]=> string(10) "1340774119" [2]=> string(10) "1340773246" } array(3) { [0]=> string(2) "10" [1]=> string(2) "50" [2]=> string(1) "8" } array(4) { [0]=> string(10) "1340773983" [1]=> string(10) "1340774119" [2]=> string(10) "1340773246" [3]=> string(10) "1340773654" } array(4) { [0]=> string(2) "10" [1]=> string(2) "50" [2]=> string(1) "8" [3]=> string(1) "5" } array(5) { [0]=> string(10) "1340773983" [1]=> string(10) "1340774119" [2]=> string(10) "1340773246" [3]=> string(10) "1340773654" [4]=> string(10) "1340774539" } array(5) { [0]=> string(2) "10" [1]=> string(2) "50" [2]=> string(1) "8" [3]=> string(1) "5" [4]=> string(2) "30" }


y en el navedador tengo este error
La imagen "http...." no puede mostrarse, porque contiene errores
  #5 (permalink)  
Antiguo 29/08/2012, 01:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con jpgraph y postgresql

Tienes algo mal en la forma de inicializar o llenar $xdata y $ydata, a menos que me equivoque, ambas deberían ser algo como:

array(N elementos) { [0] => string(10) "1234567890", [N] => string(10) "1234567890" }

O, más legible:

array(
0 => 1234567890,
/* ... ... */
N => 1234567890
)

Pero lo que tienes ahora es un arreglo de arreglos donde se va incrementando el número de elementos... muestra el código real de cómo llenas el arreglo.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 29/08/2012, 07:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

hola Triby esta es la manera como estoy llenando el arreglo


Código PHP:
Ver original
  1. $servidor = 'localhost';
  2.         $bd = 'tremor';
  3.         $usuario = 'postgres';
  4.         $contrasenia = '*****';
  5.         $tabla = 'tremor';
  6.        
  7.  
  8.         global $servidor, $bd, $usuario, $contrasenia;
  9.         $db = new PDO('pgsql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia);
  10.  
  11.         $consulta = $db->prepare("SELECT campo5, campo1 FROM tremor");
  12.         $consulta->execute();
  13.  
  14.         while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  15.         {
  16.         $xdata[] = $fila['campo5'];
  17.         $ydata[] = $fila['campo1'];
  18.  
  19.         }
  #7 (permalink)  
Antiguo 29/08/2012, 11:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con jpgraph y postgresql

Existen dos opciones:

1- No estás mostrando todo el código dentro del while donde haces alguna operación.
2- Después del while haces alguna verificación/conversión.

De cualquier forma, lo que necesitas es tener dos arreglos (xdata y ydata) donde cada elemento sea una cadena (o un número) y no lo que tienes ahora.

Si no muestras tu código real es imposible ayudarte.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 29/08/2012, 11:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

hola Triby


ese es mi codigo , estoy confundido en la forma de como genero esos dos array , hasta el momento tengo un arreglo de arreglos

$servidor = 'localhost';
$bd = 'tremor';
$usuario = 'postgres';
$contrasenia = '*****';
$tabla = 'tremor';


global $servidor, $bd, $usuario, $contrasenia;
$db = new PDO('pgsql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia);

$consulta = $db->prepare("SELECT campo5, campo1 FROM tremor");
$consulta->execute();

while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
{
$xdata[] = $fila['campo5'];
$ydata[] = $fila['campo1'];

}

Última edición por Montes28; 29/08/2012 a las 11:53
  #9 (permalink)  
Antiguo 29/08/2012, 14:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

estuve intentando implementar el codigo

Código PHP:
Ver original
  1. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  2.         {
  3.         $xdata[] = $fila['campo5'];
  4.         $ydata[] = $fila['campo1'];
  5. }
  6. var_dump($xdata,$ydata);
  7.  
  8.  
  9. y como resultado tengo , los dos array
  10.  
  11.  
  12. array(13) { [0]=> string(22) "2012-06-27 00:00:46-05" [1]=> string(22) "2012-06-27 00:07:34-05" [2]=> string(22) "2012-06-27 00:13:03-05" [3]=> string(22) "2012-06-27 00:15:19-05" [4]=> string(22) "2012-06-27 00:00:46-05" [5]=> string(22) "2012-06-27 00:07:34-05" [6]=> string(22) "2012-06-27 00:13:03-05" [7]=> string(22) "2012-06-27 00:15:19-05" [8]=> string(22) "2012-06-27 00:00:46-05" [9]=> string(22) "2012-06-27 00:07:34-05" [10]=> string(22) "2012-06-27 00:13:03-05" [11]=> string(22) "2012-06-27 00:15:19-05" [12]=> string(22) "2012-06-27 00:22:19-05" } array(13) { [0]=> string(1) "5" [1]=> string(2) "10" [2]=> string(2) "35" [3]=> string(1) "7" [4]=> string(1) "8" [5]=> string(1) "4" [6]=> string(2) "23" [7]=> string(1) "4" [8]=> string(1) "8" [9]=> string(2) "12" [10]=> string(2) "46" [11]=> string(1) "3" [12]=> string(1) "8" }
  13.  
  14. JpGraph Error Either X or Y data arrays contains non-numeric values. Check that the data is really specified as numeric data and not as strings. It is an error to specify data for example as '-2345.2' (using quotes).
  #10 (permalink)  
Antiguo 29/08/2012, 14:31
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con jpgraph y postgresql

Ok, esos arreglos ya tienen la forma adecuada, pero los datos deben ser numéricos; según entendí estabas usando timestamp, que en PHP puedes obtenerlo con strtotitime(), lógicamente, aplicado sólo a las fechas ($fila['campo5'])
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 29/08/2012, 14:34
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

triby gracias por responder

que me aconsejas si los datos deben de ser numericos si paso el timestamp a hora unix (mediante consulta sql) o mejor como dices con strtotitime() ?
  #12 (permalink)  
Antiguo 29/08/2012, 16:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con jpgraph y postgresql

Puedes usar cualquiera de las dos opciones, a menos que la cantidad de datos sea tan grande como para preocuparte por cuál será la óptima.
__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 29/08/2012, 21:17
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

triby gracias por responder , ya logro graficar

pero tengo un problema con el ejex donde estan las fechas , me divide en 24 fechas y la consulta solo tiene 5 registros

campo10 fechas1
real doble precision
10 1340773983
8 1340773246
5 1340773654
30 1340774539
25 1340774119


este es el codigo que utilizo

Código PHP:
Ver original
  1. include('inc/jpgraph.php');
  2. include('inc/jpgraph_line.php');
  3. include('inc/jpgraph_date.php');
  4. include('inc/jpgraph_utils.inc.php');
  5.  
  6. $dateUtils = new DateScaleUtils();
  7.  
  8.  
  9. $width=700; $height=400;
  10. $graph = new Graph($width, $height);
  11. $graph->SetScale('datlin');
  12. $graph->SetMargin(60,20,40,60);
  13.  
  14. $graph->title->SetFont(FF_ARIAL,FS_BOLD,12);
  15. $graph->title->Set('Development since 1984');
  16. $graph->subtitle->SetFont(FF_ARIAL,FS_ITALIC,10);
  17. $graph->subtitle->Set('(Example using the builtin date scale)');
  18.  
  19.  
  20. $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
  21. $graph->xaxis->SetLabelAngle(30);
  22.  
  23.  
  24.  
  25.                 $servidor = 'localhost';
  26.         $bd = 'tremor';
  27.         $usuario = 'postgres';
  28.         $contrasenia = '*****';
  29.         $tabla = 'tremor';
  30.        
  31.  
  32.         global $servidor, $bd, $usuario, $contrasenia;
  33.         $db = new PDO('pgsql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia);
  34.  
  35.         $consulta = $db->prepare("SELECT campo10, campo1, EXTRACT(epoch FROM campo1)AS fechas1 FROM tremor;");
  36.         $consulta->execute();
  37.  
  38.         while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  39.         {
  40.         $ydata[] = $fila['campo10'];
  41.         $xdata[] = $fila['fechas1'];
  42.        
  43.         }
  44. //var_dump($xdata, $ydata);
  45.  
  46. $lp1 = new LinePlot($ydata,$xdata);
  47. $lp1->SetWeight(0);
  48. $lp1->SetFillColor('[email protected]');
  49. $graph->Add($lp1);
  50.  
  51. $lp2 = new LinePlot($ydata,$xdata);
  52. $lp2->SetColor('orange');
  53. $graph->Add($lp2);
  54.  
  55.  
  56. $graph->Stroke();


que estoy haciendo mal?

quiero mostrarle las imagenes pero no se como subirlas no tengo pagina para subirla.

Última edición por Montes28; 29/08/2012 a las 21:23
  #14 (permalink)  
Antiguo 29/08/2012, 22:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con jpgraph y postgresql

No estoy muy seguro, pero tal vez debas agrupar los resultados por fechas, si vemos una imagen de lo que obtienes y otra de lo que debieras obtener podría ser muy útil.

Sube las imágenes en imageshack.us y las enlazas aquí.
__________________
- León, Guanajuato
- GV-Foto
  #15 (permalink)  
Antiguo 30/08/2012, 06:58
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

Triby gracias por contestar, adjunto las imagenes

imagen que deberia obtener

imagen que obtengo
  #16 (permalink)  
Antiguo 30/08/2012, 13:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con jpgraph y postgresql

Me parece que la gráfica es correcta, suponiendo que jpgraph completa la secuencia de días mostrando incluso aquellos en los que no hubo actividad... también son parte de la estadística.
__________________
- León, Guanajuato
- GV-Foto
  #17 (permalink)  
Antiguo 30/08/2012, 14:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

Triby gracias por responder

en la imagen que debo obtener que es la que viene como ejemplo en jpgraph (los array tiene 305 elementos).

porque solo plotea 14 fechas y la que yo esto generando la segunda los array son solo de 10 elementos y porque plotea todas esas fechas?
  #18 (permalink)  
Antiguo 30/08/2012, 18:09
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con jpgraph y postgresql

La primera imagen sólo tienes etiquetas para algunos elementos, pero por las variaciones en la gráfica se ve claramente que hay muchos más.
__________________
- León, Guanajuato
- GV-Foto
  #19 (permalink)  
Antiguo 30/08/2012, 19:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema con jpgraph y postgresql

Triby gracias por responder , pero donde pueden estar esas etiquetas


te voy a mostrar como esta construido el ejemplo

Código PHP:
Ver original
  1. include('inc/jpgraph.php');
  2. include('inc/jpgraph_line.php');
  3. include('inc/jpgraph_date.php');
  4. include('inc/jpgraph_utils.inc.php');
  5.  
  6. // Get a dataset stored in $xdata and $ydata
  7. include('inc/dataset01.inc.php');
  8.  
  9. $dateUtils = new DateScaleUtils();
  10.  
  11. // Setup a basic graph
  12. $width=700; $height=400;
  13. $graph = new Graph($width, $height);
  14. $graph->SetScale('datlin');
  15. $graph->SetMargin(60,20,40,60);
  16.  
  17. // Setup the titles
  18. $graph->title->SetFont(FF_ARIAL,FS_BOLD,12);
  19. $graph->title->Set('Development since 1984');
  20. $graph->subtitle->SetFont(FF_ARIAL,FS_ITALIC,10);
  21. $graph->subtitle->Set('(Example using the builtin date scale)');
  22.  
  23. // Setup the labels to be correctly format on the X-axis
  24. $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
  25. $graph->xaxis->SetLabelAngle(30);
  26.  
  27. $lp1 = new LinePlot($ydata,$xdata);
  28. $lp1->SetWeight(0);
  29. $lp1->SetFillColor('[email protected]');
  30. $graph->Add($lp1);
  31.  
  32. // And then add line. We use two plots in order to get a
  33. // more distinct border on the graph
  34. $lp2 = new LinePlot($ydata,$xdata);
  35. $lp2->SetColor('orange');
  36. $graph->Add($lp2);
  37.  
  38. // And send back to the client
  39. $graph->Stroke();

include('inc/dataset01.inc.php')

en dataset01.inc.php estan los datos almacenados




Código PHP:
Ver original
  1. $ydata = array(
  2.     0 => 1.0885908919277, 1 =>
  3.     0.99034385297982, 2 => 0.97005467188578, 3 =>
  4.     0.99901201350824, 4 => 1.1263167971152, 5 =>
  5.     1.0582808133448, 6 => 1.0216740689064, 7 =>
  6.     0.96626236356644, 8 => 1.0125912828768, 9 =>
  7.  
  8. $xdata = array(
  9.  
  10.     0 => 444348000, 1 => 446853600, 2 =>
  11.     449532000, 3 => 452124000, 4 => 454802400, 5 =>
  12.     457394400, 6 => 460072800, 7 => 462751200, 8 =>


lo unico que yo estoy cambiando es de donde consigo los datos

a continuacion mi codigo


Código PHP:
Ver original
  1. include('inc/jpgraph.php');
  2. include('inc/jpgraph_line.php');
  3. include('inc/jpgraph_date.php');
  4. include('inc/jpgraph_utils.inc.php');
  5.  
  6. $dateUtils = new DateScaleUtils();
  7.  
  8. $width=700; $height=400;
  9. $graph = new Graph($width, $height);
  10. $graph->SetScale('datlin');
  11. $graph->SetMargin(60,20,40,60);
  12.  
  13. $graph->title->SetFont(FF_ARIAL,FS_BOLD,12);
  14. $graph->title->Set('Development since 1984');
  15. $graph->subtitle->SetFont(FF_ARIAL,FS_ITALIC,10);
  16. $graph->subtitle->Set('(Example using the builtin date scale)');
  17.  
  18. $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
  19. $graph->xaxis->SetLabelAngle(30);
  20.  
  21. $servidor = 'localhost';
  22.         $bd = 'tremor';
  23.         $usuario = 'postgres';
  24.         $contrasenia = 'hoe798cs';
  25.         $tabla = 'tremor';
  26.        
  27.  
  28.         global $servidor, $bd, $usuario, $contrasenia;
  29.         $db = new PDO('pgsql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia);
  30.  
  31.         $consulta = $db->prepare("SELECT campo10, campo1, EXTRACT(epoch FROM campo1)AS fechas1 FROM tremor;");
  32.         $consulta->execute();
  33.  
  34.         while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  35.         {
  36.               $ydata[] = $fila['campo10'];
  37.                   $xdata[] = $fila['fechas1'];
  38.                  }
  39.  
  40. $lp1 = new LinePlot($ydata,$xdata);
  41. $lp1->SetWeight(0);
  42. $lp1->SetFillColor('[email protected]');
  43. $graph->Add($lp1);
  44.  
  45. $lp2 = new LinePlot($ydata,$xdata);
  46. $lp2->SetColor('orange');
  47. $graph->Add($lp2);
  48.  
  49. $graph->Stroke();


que estoy haciendo mal?

Etiquetas: jpgraph, postgresql, sql, tabla, usuarios
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 09:42.