Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

PHP - Como Criar Gráficos Dinâmicos para Visualização de Dados

#PHP; #GráficosDinâmicos; #VisualizaçãoDeDados

@CanalQb

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!

@CanalQb

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo