Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve povo!Seguinte galera...estou fazendo uns gráfico aqui, aí encarei eles de frente!Cheguei pelo grafico do tipo barras, deile uma sova nele...e já está pronto, até se alguém quiser aí é só postá aqui que ue do o tok, mas o do tipo pizza...velho...que paulera eu to tomando...hauhua alguém tem alguma dica de como fazer um? mas eu queri ano código, fazê-lo...nada daquelas coisas prontas...hehhese alguém souber...fico grato!vlw
Tirado do livro PHP pra quem conhece PHP--grafico.php<?phpheader("Content-type: image/png");// inclui o arquivo com as configuraçõesinclude 'config_grafico.inc';// cria imagem e define as cores$imagem = ImageCreate($largura, $altura);$fundo = ImageColorAllocate($imagem, 236, 226, 226);$preto = ImageColorAllocate($imagem, 0, 0, 0);$azul = ImageColorAllocate($imagem, 0, 0, 255);$verde = ImageColorAllocate($imagem, 0, 255, 0);$vermelho = ImageColorAllocate($imagem, 255, 0, 0);$amarelo = ImageColorAllocate($imagem, 255, 255, 0);// ------ definição dos dados ----------$dados = array ("Gremio", "Juventude", "Inter", "Caxias");$valores = array (280, 140, 120, 70);$cores = array ($azul, $verde, $vermelho, $amarelo);// ------ cálculo do total ----------$total = 0;$num_linhas = sizeof($dados);for($i=0 ; $i<$num_linhas; $i++) $total += $valores[$i];// ------ desenha o gráfico ----------ImageEllipse ($imagem, $centrox, $centroy, $diametro, $diametro, $preto);ImageString($imagem, 3, 3, 3, "Total: $total pessoas", $preto);$raio = $diametro/2;for($i=0 ; $i<$num_linhas; $i++){ $percentual = ($valores[$i] / $total) 100; $percentual = number_format($percentual, 2); $percentual .= "%"; $val = 360 ($valores[$i] / $total); $angulo += $val; $angulo_meio = $angulo - ($val / 2); $x_final = $centrox + $raio cos(deg2rad($angulo)); $y_final = $centroy + (- $raio sin(deg2rad($angulo))); $x_meio = $centrox + ($raio/2 cos(deg2rad($angulo_meio))) ; $y_meio = $centroy + (- $raio/2 sin(deg2rad($angulo_meio))); $x_texto = $centrox + ($raio cos(deg2rad($angulo_meio))) 1.2; $y_texto = $centroy + (- $raio sin(deg2rad($angulo_meio))) 1.2; ImageLine($imagem, $centrox, $centroy, $x_final, $y_final, $preto); ImageFillToBorder($imagem, $x_meio, $y_meio, $preto, $cores[$i]); ImageString($imagem, 2, $x_texto, $y_texto, $percentual, $preto);}// ------ CRIAÇÃO DA LEGENDA ----------if($exibir_legenda=="sim"){ // acha a maior string $maior_tamanho = 0; for($i=0 ; $i<$num_linhas; $i++) if(strlen($dados[$i])>$maior_tamanho) $maior_tamanho = strlen($dados[$i]); // calcula os pontos de início e fim do quadrado $x_inicio_legenda = $lx - $largura_fonte ($maior_tamanho+4); $y_inicio_legenda = $ly; $x_fim_legenda = $lx; $y_fim_legenda = $ly + $num_linhas ($altura_fonte + $espaco_entre_linhas) + 2$margem_vertical; ImageRectangle($imagem, $x_inicio_legenda, $y_inicio_legenda,$x_fim_legenda, $y_fim_legenda, $preto); // começa a desenhar os dados for($i=0 ; $i<$num_linhas; $i++) { $x_pos = $x_inicio_legenda + $largura_fonte3; $y_pos = $y_inicio_legenda + $i ($altura_fonte + $espaco_entre_linhas) + $margem_vertical; ImageString($imagem, $fonte, $x_pos, $y_pos, $dados[$i], $preto); ImageFilledRectangle ($imagem, $x_pos-2$largura_fonte, $y_pos, $x_pos-$largura_fonte, $y_pos+$altura_fonte, $cores[$i]); ImageRectangle ($imagem, $x_pos-2*$largura_fonte, $y_pos, $x_pos-$largura_fonte, $y_pos+$altura_fonte, $preto); }}ImagePng($imagem);ImageDestroy($imagem);?>----------------------------------------- config_grafico.inc<?php// ------ configurações do gráfico ----------$largura = 600;$altura = 400;// ------ configurações do círculo ----------$centrox = 200;$centroy = 200;$diametro = 280;$angulo = 0;// ------ configurações da legenda ----------$exibir_legenda = "sim";$fonte = 3;$largura_fonte = 8; // largura em pixels (2=6,3=8,4=10)$altura_fonte = 10; // altura em pixels (2=8,3=10,4=12)$espaco_entre_linhas = 10;$margem_vertical = 5;// canto superior direito da legenda$lx = 540;$ly = 30;?>
Cara, que que tu acha de um gráfico em Flash, totalmente personalizável pelo PHP e ainda por cima gratuito?
Legal né? Então acessa: http://www.maani.us/charts/index.php
[]'s
ve se ajuda
PHPLOT ou JPGraph
classe pra geração de graficos....