|
|
|||||||||||||||||||||||||
|
IntroducciónPara mostrar resultados de estadística, encuestas, etc siempre resulta más sencillo comprender un simple gráfico a números. Es mas sencillo ver como ha votado la gente con unas barras que nos muestren el porcentaje que a un número. Por esta razón he decidido hacer este pequeño tutorial que les mostrará a crear esas barras como campiones. ;-) Creando el gráficoPara empezar necesitamos nuestro gráfico. El gráfico debe de ser una imagen de 1x1 pixeles, y lo hacemos del color que nosotros querramos. Si quieren pueden usar el que yo use para este ejemplo: http://perlenespanol.baboonsoftware.com/download/punto.gif Creando el códigoLo primero que debemos de hacer es aprender a convertir a porcentajes nuestros resultados, durante todo el tutorial voy a usar como ejemplo un array con números que corresponden a la cantidad de visitas del día 1 al 7 de X mes.
my @resultado = ('120','123','240','50','178','202','145');
Ahora lo que debemos de hacer es sacar el número más alto de nuestro array, pues ese número va a corresponder al 100% de visitas. Entonces podemos hacer algo así:
my $numero_mayor;
for(sort {$b <=> $a} @resultado){ Ya que tenemos nuestro número mayor como referencia ya lo que sigue es muy sencillo. Creamos nuestras variables iniciales para crear nuestras barras:
#ANCHO DE NUESTRA BARRA
my $ancho = 5; #LARGO MÍNIMO - Corresponde al largo que tendría la imagen en 0% #DRAMATISMO Ahora si empezamos con nuestro código principal:
print "Content-type: text/html\n\n";
print "<font style=\"font-family:verdana,helvetica;color:black;font-size:8pt;\">\n"; for my $resultado(sort {$b <=> $a} @resultado){ print "<font>\n"; Es muy sencillo lo que hacemos, creamos un bucle a través de nuestro array, primero calculamos el porcentaje, después creamos la variable de él largo de nuestra imagen, que sacamos sumando el $largo inicia al producto de la multiplicación del porcentaje por el dramatismo, para de esta manera tener un largo aceptable, y finalmente imprimimos la imagen junto con los datos de el resultado. Código FinalEl código final quedaría de la siguiente manera:
#!/usr/bin/perl -w
use strict; #ANCHO DE NUESTRA BARRA #LARGO MÍNIMO #DRAMATISMO #ARRAY CON RESULTADOS DE EJEMPLO
for(sort {$b <=> $a} @resultado){
print "<font style=\"font-family:verdana,helvetica;color:black;font-size:8pt;\">\n"; for my $resultado(sort {$b <=> $a} @resultado){ print "<font>\n"; Notas FinalesSi aún no les queda muy claro como es que hice las barras, les recomiendo que chequen un poco el código, jueguen con las variables y con los resultados para que comprendan cómo esta hecho todo. La fórmula para sacar los porcentajes es muy sencilla y va de la siguiente manera: PORCENTAJE=(VALOR/VALOR MAYOR)*100
|
||||||||||||||||||||||||
|
|||||||||||||||||||||||||