Foros del Web » Programando para Internet » PHP »

Otras 2 Preguntas de Jpgraph

Estas en el tema de Otras 2 Preguntas de Jpgraph en el foro de PHP en Foros del Web. Bien, ya tengo funcionando la jpgraph y he revisado la referencia, pero la verdad no encuentro nada acerca de: 1. Como hacer auto expandible el ...
  #1 (permalink)  
Antiguo 22/09/2005, 13:41
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Otras 2 Preguntas de Jpgraph

Bien, ya tengo funcionando la jpgraph y he revisado la referencia, pero la verdad no encuentro nada acerca de:

1. Como hacer auto expandible el tamaño de la imgen, es decir sin tener que colocar un valor fijo.

2. Como colocar junto a los porcentages el valor numérico.

Dejo el Script y el gráfico.

Saludos y Gracias desde ya.







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("bdatos","select country, count(provider_id)as total from provider group by country order by total DESC Limit 10"); 
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(550,300,"auto"); //<--------Aqui es lo del tamaño
$graph->SetShadow();

// Set A title for the plot
$graph->title->Set("Providers");
$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);
$p1->SetLegends($arreglo1);

$p1->SetCSIMTargets($row[0],$row[1]);

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

?>
  #2 (permalink)  
Antiguo 22/09/2005, 16:55
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
Creo que lo mas facil seria colocar el valor numerico junto a cada etiqueta encerrado entre parentesis para diferenciarlo.

Asi quedaria tu arreglo
Código PHP:
//echo $row["total"]; 
$arreglo1[] = $row[0]." (".$row[1].")"
$arreglo2[] = $row[1]; 
Se veria asi: etiqueta (valor)

Aunque probablemente exista alguna forma de ponerlo junto al porcentaje, de entrada no se me ocurre ninguna , ademas creo que es mas correcto ponerlo junto a la etiqueta.

Saludos
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #3 (permalink)  
Antiguo 22/09/2005, 17:21
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Fantastico Master, funciona de Maravilla, yo habría pensado que eso alteraba el array pero no es así.

La pregunta numero 2. Como se aplica un resize al grafico???
  #4 (permalink)  
Antiguo 22/09/2005, 18:44
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
Se me ocurre que se podria hacer una cosa, apartir de un numero determinado de datos sumar el ancho y el alto, por ejemplo apartir de los 14, pero eso puede ajustarse, veamos.

En la parte donde haces la consulta se agregaria esto
Código PHP:
/* Para saber cuantos registros se mostraran */
$auto mysql_num_rows($result);
/* Tamaño de la grafica */
$width 550/* ancho */
$height 300/* alto */

$w 15/* El ancho que se suma por cada registro extra */
$h 25/* El alto que se suma por cada registro extra */

if ($auto 14) {
$auto $auto 14;
$w $w $auto;
$h $h $auto;
$width $width $w;
$height $height $h;

Ahora en la parte donde se pone el tamaño de la grafica

Código PHP:
$graph = new PieGraph($width,$height,"auto"); 
Bueno, solamente es una idea que podria funcionar, aunque como al aumentar el tamaño de la imagen tambien la grafica se ajusta pero si juegas con los valores hasta ajustarlos podria funcionar.

Comenta si te funciona

Saludos
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
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 18:45.