Saturday, January 30, 2010

Dynamic bar chart using php

<?php
header(“Content-type: image/jpeg”);
$data = array(‘3400′,’2570′,’245′,’473′,’1000′,’3456′,’780′);
$sum = array_sum($data);

$height = 255;
$width = 320;
$im = imagecreate($width,$height); // create width , height px of chart background
/*    $background_color = imagecolorallocate($im, 0, 0, 0);
*/    $white = imagecolorallocate($im,255,255,255);
$black = imagecolorallocate($im,0,0,0);
$red = imagecolorallocate($im,255,0,0);
//create the X & Y axis lines.
imageline($im, 10, 5, 10, 230, $black);
imageline($im, 10, 230, 300, 230, $black);

$x = 15;
$y = 230;
$x_width = 20;
$y_ht = 0;

for ($i=0;$i<7;$i++){
$y_ht = ($data[$i]/$sum)* $height;
imagerectangle($im,$x,$y,$x+$x_width,($y-$y_ht),$red);

/*    $colorHandle = imageColorAllocate($im, 225, 192, $i); // allocate color
imageFilledRectangle($im, $x,$y,$x+$x_width,($y-$y_ht), $colorHandle);// use it for drawing
*/
imagestring( $im,2,$x-1,$y+10,$data[$i],$black);
$x += ($x_width+20);
}
imagejpeg($im);
?>

No comments: