A Dynamic Bar Chart : Bar Chart : Chart PHP Source Code


PHP Source Code » Chart » Bar Chart »

 

A Dynamic Bar Chart



<?php
header("Content-type: image/gif");
$cells = array liked=>200, hated=>400, indifferent=>900 );
$max = max$cells );
$total = count $cells );
$totalwidth = 300;
$totalheight = 200;
$xgutter = 20// left/right margin
$ygutter = 20// top/bottom margin
$internalgap = 10// space between cells
$bottomspace = 30// gap at the bottom (in addition to margin)
$font = "ARIALBD.TTF";
 $graphCanX = $totalwidth - $xgutter*);
$graphCanY = $totalheight - $ygutter*- $bottomspace );// starting draw position x - axis
$posX = $xgutter; // starting draw pos - y -  axis
$posY = $totalheight - $ygutter - $bottomspace;
$cellwidth = (int) (( $graphCanX - $internalgap * $total-) )) / $total;
 $textsize = (int)($bottomspace);
// adjust font size
while list$key, $val = each $cells ) )
    {
     while )
        {
        $box = ImageTTFbBox$textsize, 0, $font, $key );
        $textWidth = abs$box[2] );
        if $textWidth < $cellwidth )
            break;
        $textsize--;
        }
    }
$image = imagecreate$totalwidth, $totalheight );
$red = ImageColorAllocate($image, 25500);
$blue = ImageColorAllocate($image, 00255 );
$black = ImageColorAllocate($image, 00);
$grey = ImageColorAllocate($image, 100100100 );
 reset ($cells);
 while list$key, $val = each $cells ) )
     {
     $cellheight = (int) (($val/$max* $graphCanY);
     $center = (int)($posX+($cellwidth/2));
    imagefilledrectangle$image, $posX, ($posY-$cellheight)($posX+$cellwidth), $posY, $blue );
     $box = ImageTTFbBox$textsize, 0, $font, $key );
     $tw = $box[2];
     ImageTTFText(    $image, $textsize, 0($center-($tw/2)),
             ($totalheight-$ygutter), $black, $font, $key );
     $posX += $cellwidth + $internalgap);
     }
 imagegif$image );
 ?>
<!--/*
Code Revised from 



Sam's Teach Yourself Php, Mysql and Apache in 24 Hours 
(Sams Teach Yourself S.) (Paperback)
by Julie C. Meloni 

# Paperback: 616 pages
# Publisher: Sams (1 Jan 2004)
# Language English
# ISBN: 0672326205

-->


           
       



HTML code for linking to this page:

Follow Navioo On Twitter

PHP Source Code

 Navioo Chart
» Bar Chart