Foros del Web » Programando para Internet » PHP »

pasar estos dos Valores -Arreglos- Jpgraph

Estas en el tema de pasar estos dos Valores -Arreglos- Jpgraph en el foro de PHP en Foros del Web. Que tal, estoy utilizando la Libreria JpGraph (O eso Intento) y quiero graficar los resultados de esta consulta: Código PHP: $result  =  mysql_db_query ( "base_de_datos" ...
  #1 (permalink)  
Antiguo 21/09/2005, 18:02
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
pasar estos dos Valores -Arreglos- Jpgraph

Que tal, estoy utilizando la Libreria JpGraph (O eso Intento) y quiero graficar los resultados de esta consulta:

Código PHP:
$result mysql_db_query("base_de_datos","select country, count provider_id)

as total from provider group by country order 
by total DESC Limit 5"
);
while(
$row mysql_fetch_array($result)) 
{
$arreglo1[] = $row["total"]; 
$arreglo2[] = $row["country"]; 

Ahora no sé como "Ubicar" estos valores dentro del script de jpgraph que es éste (Ya tengo cuadrados los Includes):



Código PHP:
//$gJpgBrandTiming=true;

// Some data
$data = array(40,21,17,27,23);

// Create the Pie Graph. 
$graph = new PieGraph(400,200,'auto');
$graph->SetShadow();

// Set A title for the plot
$graph->title->Set("3D Pie Client side image map");
$graph->title->SetFont(FF_FONT1,FS_BOLD);

// Create
$p1 = new PiePlot3D($data);
$p1->SetLegends(array("Jan (%d)","Feb","Mar","Apr","May","Jun","Jul"));
$targ=array("pie3d_csimex1.php?v=1","pie3d_csimex1.php?v=2","pie3d_csimex1.php?v=3",
            
"pie3d_csimex1.php?v=4","pie3d_csimex1.php?v=5","pie3d_csimex1.php?v=6");
$alts=array("val=%d","val=%d","val=%d","val=%d","val=%d","val=%d");
$p1->SetCSIMTargets($targ,$alts);

// Use absolute labels
$p1->SetLabelType(1);
$p1->value->SetFormat("%d kr");

// Move the pie slightly to the left
$p1->SetCenter(0.4,0.5);

$graph->Add($p1);


// Send back the HTML page which will call this script again
// to retrieve the image.
$graph->StrokeCSIM('pie3d_csimex1.php'); 

Última edición por ADIÓS_ADRIANA; 22/09/2005 a las 09:05
  #2 (permalink)  
Antiguo 21/09/2005, 20:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
A simple vista (sin probarlo y que nunca he usado jpgraph) .. parece que tu $arreglo1 corresponde a $data y $arreglo2 a $p1->SetLegends()

por ende podrías hacer:

$data=$arreglo1;

$p1->SetLegends($arreglo2);

donde corresponda.

Un saludo,
  #3 (permalink)  
Antiguo 22/09/2005, 09:37
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Bueno, funciona la gráfica y al parecer da las proporciones de los valores, pero no logro nisiquiera Cambiarle el título, ni que tome los Labels de los países, esto es lo que tengo:






Y este es el Code;

Código PHP:
<?php
include_once ("../../jpgraph/src/jpgraph.php");
include_once (
"../../jpgraph/src/jpgraph_pie.php");
include_once (
"../../jpgraph/src/jpgraph_pie3d.php");


            
$host="localhost";
            
$user="root";
            
$password="";
            
mysql_connect($host,$user,$password);
$result mysql_db_query("mi_base_de_datos","select country, count(provider_id)as total from provider group by country order by total DESC Limit 5");
while(
$row mysql_fetch_array($result)) 
{
//echo $row["total"];
$arreglo1[] = $row["total"]; 
$arreglo2[] = $row["country"]; 
}
//$gJpgBrandTiming=true; 

// Some data 
$data=$arreglo1;

// Create the Pie Graph. 
$graph = new PieGraph(400,200,'auto'); 
$graph->SetShadow(); 

// Set A title for the plot 
$graph->title->Set("3D Pie Client side image map"); 
$graph->title->SetFont(FF_FONT1,FS_BOLD); 

// Create 
$p1 = new PiePlot3D($data); 
$p1->SetLegends($arreglo1);
$targ=array("pie3d_csimex1.php?v=1","pie3d_csimex1.php?v=2","pie3d_csimex1.php?v=3"
            
"pie3d_csimex1.php?v=4","pie3d_csimex1.php?v=5","pie3d_csimex1.php?v=6"); 
$alts=array("val=%d","val=%d","val=%d","val=%d","val=%d","val=%d"); 
$p1->SetCSIMTargets($targ,$alts); 

// Use absolute labels 
$p1->SetLabelType(1); 
$p1->value->SetFormat("%d kr"); 

// Move the pie slightly to the left 
$p1->SetCenter(0.4,0.5); 

$graph->Add($p1); 


// Send back the HTML page which will call this script again 
// to retrieve the image. 
$graph->StrokeCSIM('pie3d_csimex1.php'); 
?>
  #4 (permalink)  
Antiguo 22/09/2005, 09:56
Avatar de elwata  
Fecha de Ingreso: junio-2005
Mensajes: 156
Antigüedad: 12 años, 6 meses
Puntos: 0
Corrige:
$p1->SetLegends($arreglo2);
  #5 (permalink)  
Antiguo 22/09/2005, 09:57
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 12 años, 5 meses
Puntos: 5
A ver para cambiarle el titulo es en esta parte

Código PHP:
// Set A title for the plot 
$graph->title->Set("Este es el titulo"); 
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #6 (permalink)  
Antiguo 22/09/2005, 09:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Con respecto al título ..

Código PHP:
$graph->title->Set("3D Pie Client side image map"); 
Date un tiempo en "observar" simplemente .. (insisto que nunca he usado ese código .. )

Un saludo,
  #7 (permalink)  
Antiguo 22/09/2005, 10:00
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Gracias, pero sigue igual,

Pues la idea es hacer esto lo más dinamico posible con valores de BD, tenéis algún lInk o ejemplo ???

La verdad no doy con esto...
  #8 (permalink)  
Antiguo 22/09/2005, 10:02
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Cita:
Iniciado por Cluster
Con respecto al título ..

Código PHP:
$graph->title->Set("3D Pie Client side image map"); 
Date un tiempo en "observar" simplemente .. (insisto que nunca he usado ese código .. )

Un saludo,

Tampoco, Tampoco Master, si lo he cambiado ahí 10.000 Veces y sigue saliendo el Mismo Title, la cuestión es que no encuentro una forma de instanciar todo para generar un gráfico mandándole los Datos...
  #9 (permalink)  
Antiguo 22/09/2005, 12:07
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Bueno, ya lo conseguí gracia a otro post de este foro y cambiar algunas cosillas,

También marca un problema de Headers, pero necesito utilizar esto en una página que muestra datos antes....como podría llamarlo ???

Código PHP:
<?php 
include ("jpgraph/src/jpgraph.php");
include (
"jpgraph/src/jpgraph_pie.php");
include (
"jpgraph/src/jpgraph_pie3d.php");


            
$host="localhost"
            
$user="root"
            
$password=""
            
mysql_connect($host,$user,$password); 
$result mysql_db_query("mi_base_de_datos","select country, count(provider_id)as total from provider group by country order by total DESC Limit 5"); 
while(
$row mysql_fetch_array($result)) 

//echo $row["total"]; 
$arreglo1[] = $row[0]; 
$arreglo2[] = $row[1]; 

//$gJpgBrandTiming=true; 

$data $arreglo2;

// Create the Pie Graph.
$graph = new PieGraph(400,200,"auto");
$graph->SetShadow();

// Set A title for the plot
$graph->title->Set("Proveedores por Países");
$graph->title->SetFont(FF_FONT1,FS_BOLD); 
$graph->title->SetColor("darkblue");
$graph->legend->Pos(0.02,0.2);

// Create pie plot
$p1 = new PiePlot3d($data);
$p1->SetTheme("sand");
$p1->SetCenter(0.35);
$p1->SetAngle(30);
$p1->value->SetFont(FF_ARIAL,FS_NORMAL,12);
$p1->SetLegends($arreglo1);

$graph->Add($p1);
$graph->Stroke();

?>
  #10 (permalink)  
Antiguo 22/09/2005, 12:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Guarda ese script con algún nombre ..

genera_grafico.php

y desde -otras- páginas (HTML/PHP) lo llamas con un tag de imagen común:
Código PHP:
<img src="genera_grafico.php"
De hecho .. como script que es .. le puedes pasar parámetros como para hacerlo completamente dinámico.

Un saludo,
  #11 (permalink)  
Antiguo 22/09/2005, 12:41
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Oye Gracias, funciona de Maravilla.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:22.