
PHP - Criando Gráficos Dinâmicos
Sempre crie uma frase de segurança única para jogos, @CanalQb e qualquer outra coisa de origem desconhecida, em vez de usar sua carteira principal.
Link para download do PHP 8.0 - Atual: https://www.apachefriends.org/pt_br/download.html
Link para download do PHP 7.4: https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.4.30/
📊 Visualize seus Dados com Estilo! 📊
Você já se perguntou como representar visualmente os dados de uma forma mais atrativa e compreensível? Bem, você veio ao lugar certo! Hoje, vamos explorar dois scripts PHP que podem transformar seus dados em gráficos elegantes.
ℹ️ Script 1: Gráfico de Barras
Este primeiro script PHP permite criar gráficos de barras simples, mas eficazes. Ele aceita um conjunto de dados associativos e gera uma imagem representando esses dados em barras verticais.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
header("Content-type: image/gif");
$cells = array('curtidas' => 200, 'odiadas' => 400, 'indiferentes' => 900);
$max = max($cells);
$total = count($cells);
$totalwidth = 300;
$totalheight = 200;
$xgutter = 20; // margem esquerda/direita
$ygutter = 20; // margem superior/inferior
$internalgap = 10; // espaço entre células
$bottomspace = 30; // espaço na parte inferior (além da margem)
$graphCanX = ($totalwidth - $xgutter * 2);
$graphCanY = ($totalheight - $ygutter * 2 - $bottomspace);
$posX = $xgutter; // posição inicial de desenho no eixo x
$posY = $totalheight - $ygutter - $bottomspace; // posição inicial de desenho no eixo y
$cellwidth = (int)(($graphCanX - ($internalgap * ($total - 1))) / $total);
$textsize = (int)($bottomspace * 0.7); // ajuste o tamanho do texto
$image = imagecreate($totalwidth, $totalheight);
$white = imagecolorallocate($image, 255, 255, 255); // fundo branco
$light_green = imagecolorallocate($image, 0, 200, 0); // verde suave
$dark_green = imagecolorallocate($image, 0, 100, 0); // verde mais escuro
$black = imagecolorallocate($image, 0, 0, 0);
// Preenche o fundo com branco
imagefill($image, 0, 0, $white);
// Loop através das células para desenhar as barras
foreach ($cells as $key => $val) {
$cellheight = (int)(($val / $max) * $graphCanY);
imagefilledrectangle($image, $posX, ($posY - $cellheight), ($posX + $cellwidth), $posY, $light_green);
$center = (int)($posX + ($cellwidth / 2));
// Desenha o rótulo abaixo de cada barra
$labelWidth = imagefontwidth($textsize) * strlen($key);
$labelX = $center - ($labelWidth / 2);
imagestring($image, $textsize, $labelX, $totalheight - $ygutter + 5, $key, $black);
$posX += ($cellwidth + $internalgap);
}
// Saída da imagem
imagegif($image);
// Liberação de recursos
imagedestroy($image);
?>
Este script é útil quando você precisa comparar diferentes categorias com base em valores numéricos. Por exemplo, você pode usá-lo para visualizar a popularidade de diferentes produtos, o desempenho de diferentes equipes ou até mesmo a distribuição de opiniões sobre um determinado tópico.
⚙️ Script 2: Personalize sua Visualização
Este segundo script PHP é altamente configurável. Ele permite ajustar parâmetros como margens, espaçamento entre as barras e tamanhos de texto para criar gráficos que se adaptem perfeitamente às suas necessidades.
<?php
$myImage = ImageCreate(300,300);
$white = ImageColorAllocate($myImage, 255, 255, 255);
$red = ImageColorAllocate($myImage, 255, 0, 0);
$green = ImageColorAllocate($myImage, 0, 255, 0);
$blue = ImageColorAllocate($myImage, 0, 0, 255);
$lt_red = ImageColorAllocate($myImage, 255, 150, 150);
$lt_green = ImageColorAllocate($myImage, 150, 255, 150);
$lt_blue = ImageColorAllocate($myImage, 150, 150, 255);
for ($i = 120; $i > 100; $i--) {
ImageFilledArc($myImage, 100, $i, 200, 150, 0, 90, $lt_red, IMG_ARC_PIE);
ImageFilledArc($myImage, 100, $i, 200, 150, 90, 180, $lt_green, IMG_ARC_PIE);
ImageFilledArc($myImage, 100, $i, 200, 150, 180, 360, $lt_blue, IMG_ARC_PIE);
}
ImageFilledArc($myImage, 100, 100, 200, 150, 0, 90, $red, IMG_ARC_PIE);
ImageFilledArc($myImage, 100, 100, 200, 150, 90, 180, $green, IMG_ARC_PIE);
ImageFilledArc($myImage, 100, 100, 200, 150, 180, 360, $blue, IMG_ARC_PIE);
header("Content-type: image/png");
ImagePNG($myImage);
ImageDestroy($myImage);
?>
Com este script, você pode criar gráficos que se destacam, combinando precisão com estética. Experimente diferentes configurações para encontrar o visual perfeito para seus dados!
🔍 Como Usar:
Basta incluir um desses scripts em seu projeto PHP e fornecer os dados no formato correto. Em seguida, chame o script em seu navegador para gerar a imagem do gráfico correspondente. É simples assim!
Agora, você pode adicionar um toque visual aos seus relatórios, dashboards ou até mesmo páginas da web, tornando seus dados mais acessíveis e impactantes!
