
Empezamos creando un archivo php y escribiendo el siguiente código
// Definimos el tamaño de la imagenLuego definimos cuatro arreglos, uno para mostrar el texto, otro para guardar el color principal,otro para guardar el color de sombra y el ultimo para guardar el valor numérico registrado.
$imagen = imagecreate(300,550);
// Color de fondo en formato RGB
$bg = imagecolorallocate($imagen,255,255,255);
$estados[0] = "Java";Después de ingresar varios registros a los arreglos, ahora solo resta calcular los porcentajes de los valores.
$colores[0] = imagecolorallocate($imagen,112,112,112);
$sombras[0] = imagecolorallocate($imagen,0,0,0);
$valores[0] = 600 ;
// Sumamos el total de los valoresAhora podemos continuar con el dibujo, centramos la gráfica en las dimensiones de la imagen, modificamos en tamaño del gráfico (del pastel) y ponemos el inicio del angulo del gráfico.
$total = array_sum($valores);
// Calculamos el porcentaje y el ángulo de cada valor
for($i=0; $i<count($valores); $i++) {
$porcentajes[$i] = round(($valores[$i]/$total)*100,2);
$angulos[$i] = round(($porcentajes[$i]*360)/100);
}
// Centro de la gráficaLuego insertamos los datos en la gráfica de la siguiente manera
$cx = 120;
$cy = 65;
// Tamaño del gráfico
$ancho = 200;
$alto = 80;
// Inicio del ángulo
$inicio = 0;
// Repetimos 35 veces la gráfica.y finalmente llevamos a nuestra imagen a la vida
for($n=35;$n>0;$n--) {
for($i=0;$i<count($valores);$i++) {
imagefilledarc($imagen, $cx, $cy+$n, $ancho, $alto,
$inicio, $angulos[$i]+$inicio, $sombras[$i], IMG_ARC_PIE);
$inicio += $angulos[$i];
}
}
$gris = imagecolorallocate($imagen,119,119,119); //Color de las letras
for($i=0;$i<count($valores);$i++) { imagefilledarc($imagen,$cx,$cy,$ancho,$alto,$inicio,
$angulos[$i]+$inicio,$colores[$i],IMG_ARC_PIE);
$inicio += $angulos[$i];
// Especificación de los colores de cada una de las porsiones
imagefilledrectangle($imagen, 20, 155+($i*20), 34, 169+($i*20), $colores[$i]);
imagestring($imagen, 2, 50, 155+($i*20), $estados[$i].": ".$valores[$i]." (".$porcentajes[$i]."%)", $gris);
}
header('Content-type: image/png');Y así de fácil creamos un gráfico en php, no es lo mas avanzado del mundo pero sirve para graficar, así lo insertamos donde queremos <img src="path/pastel.php" /> y siempre estará actualizado! ;)
imagepng($imagen);
imagedestroy($imagen);
El código lo dejo para que lo bajen acá: pastel.php
Si tienen preguntas o comentarios siempre son bienvenidos, espero que les guste el script, adew!!