Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: inquilin@19 en 11 Noviembre 2011, 17:03 PM

Título: Graficos de barras en php
Publicado por: inquilin@19 en 11 Noviembre 2011, 17:03 PM
Hola a todos, vereis, tengo que hacer un script php con un gráfico de barras horizontales o verticales (como prefiera), he estado mirando las funciones de ImageFilledRectangle para crear las barras pero me las pone todas juntas, he visto que cada valor que damos en el rectángulo tiene que tener un numero determinado para que no se vean, eso lo estoy solucionando pero mi cuestion es, ¿Como puedo hacer para que esas barras tengan aspecto de grafico y ponerlas separadas, 20 pixeles, por ejemplo¿?
Título: Re: Graficos de barras en php
Publicado por: dark_sargon en 13 Noviembre 2011, 05:54 AM
Hola inquilin@19 :)
Podrías hacer un plano con lineas, valores y las barras. Para separar las barras 20px debes usar los atributos de la función ImageFilledRectangle() ya que esta recibe dos puntos para gráficar el rectángulo, pronto agregaré un ejemplo en éste tema.
Título: Re: Graficos de barras en php
Publicado por: inquilin@19 en 13 Noviembre 2011, 15:28 PM
Gracias por la información, al final conseguí hacer algo con las barras, aquí tienes el codigo por si te sirve para algo
<?php
$myImage 
ImageCreate(300,300);
$white ImageColorAllocate($myImage255255255);
$red  ImageColorAllocate($myImage25500);
$green ImageColorAllocate($myImage02550);
$blue ImageColorAllocate($myImage00255);
ImageFilledRectangle($myImage7018010010$blue);
ImageFilledRectangle($myImage15018012050$green);
ImageFilledRectangle($myImage20018017075$red);
header ("Content-type: image/png");
ImagePng($myImage);
ImageDestroy($myImage);
?>

Con esto he conseguido hacer tres barras de colores, con la misma separación, estuve unas dos horas y media para que me saliera esto, asi que lo de que fueran 20 pixeles no se si estará cumplido
Un saludo
Título: Re: Graficos de barras en php
Publicado por: dark_sargon en 13 Noviembre 2011, 18:24 PM
Te felicito, algunos usuarios solo esperan a que hagan el trabajo por ellos :)
Yo haría una gráfica de barras algo así:
Código (php) [Seleccionar]
<?php
$myImage 
ImageCreate(400,300);

$white ImageColorAllocate($myImage255255255);
$yellow  ImageColorAllocate($myImage2552550);
$red  ImageColorAllocate($myImage25500);
$green ImageColorAllocate($myImage02550);
$blue ImageColorAllocate($myImage00255);
$darkgray ImageColorAllocate($myImage127127127);
$black ImageColorAllocate($myImage000);

$fuente "arial.ttf";


imageline ($myImage50240260240$darkgray);
imageline ($myImage504050240$darkgray);

imagettftext($myImage10026243$black$fuente"  0");
imagettftext($myImage10026210$black$fuente" 20");
imagettftext($myImage10026177$black$fuente" 40");
imagettftext($myImage10026144$black$fuente" 60");
imagettftext($myImage10026111$black$fuente" 80");
imagettftext($myImage1002678$black$fuente"100");


//Los datos llegan de 0 a 100 (porcentaje)
$numero1 20;
$numero2 40;
$numero3 60;
$numero4 100;

$dato1 240-(((240-75)/100)*$numero1);
$dato2 240-(((240-75)/100)*$numero2);
$dato3 240-(((240-75)/100)*$numero3);
$dato4 240-(((240-75)/100)*$numero4);

ImageFilledRectangle($myImage7024090$dato1-1$darkgray);
ImageFilledRectangle($myImage7123989$dato1$blue);

ImageFilledRectangle($myImage110240130$dato2-1$darkgray);
ImageFilledRectangle($myImage111239129$dato2$red);

ImageFilledRectangle($myImage150240170$dato3-1$darkgray);
ImageFilledRectangle($myImage151239169$dato3$green);

ImageFilledRectangle($myImage190240210$dato4-1$darkgray);
ImageFilledRectangle($myImage191239209$dato4$yellow);

header ("Content-type: image/png");
ImagePng($myImage);
ImageDestroy($myImage);
?>


Recuerda agregar el archivo arial.ttf en el mismo directorio de tu .php
Título: Re: Graficos de barras en php
Publicado por: inquilin@19 en 13 Noviembre 2011, 19:26 PM
GRacias de nuevo, está muy bien el script.
Reconozco que soy un gran pato en esto del php (me fastidia más saber que me van a examinar de ello y que dependa de ello que tenga un título o no) pero si alguno de los simples scripts que hago le sirven a alguien, dare la tarea bien hecha.
:D Saudos!
Título: Re: Graficos de barras en php
Publicado por: dark_sargon en 14 Noviembre 2011, 02:25 AM
Es verdad, a veces nos obligan a aprender cosas para poder obtener un titulo. Si sabes que despues no lo necesitas, se siente mal. Pero qué bueno que te estés esforzando y quieras ayudar a alguien más :-)

PD. Yo también soy pato para esto peri trato de entender bien la documentación.