note 25768 deleted from function.imagefilledarc by tularis
| From: | tularis@php.net | Date: | Sat, 05 Jul 2008 10:01:25 +0000 |
| Subject: | note 25768 deleted from function.imagefilledarc by tularis | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-141193@lists.php.net to get a copy of this message | ||
Note Submitter: jcoder at insightbb dot com
----
/*
From a set of numbers from a query return and an
array of colors this will generate a pie chart
*/
$a=array();
while($d=mysql_fetch_array($start_angle_query))
{
$a[]=$d[0];
}
$b=array();
$b =$a;
/* make two arrays one for start of angle 2nd
for end of angle
*/
$sum=array_sum($a);
$degree_adjuster=360/$sum;
//constant for circle
array_unshift($a,0 );
// add 0 for start angle
$start_angle=array();
// new array to hold values for start vector
$end_angle=array();
//new array to hold values for end vector
array_pop($a);
//trim one array for start so numbers don't end on 360
while($a) //iterate till array is empty
{
array_push($start_angle,(end($start_angle)+ $a[0]));
/*enter numbers in array $start_angle adding the last number in
array and adding the first number from modified original array*/
array_shift($a);//delete first value of array
}
while($b)
{
array_push($end_angle,(end($end_angle)+$b[0]));
array_shift($b);
}
for($i=0;$i<$angle_num_rows;$i++)
{
imagefilledarc($pie,130,149,260,260,
($start_angle[$i]*$degree_adjuster),$end_angle[$i]*$degree_adjuster,
$colors[$i],IMG_ARC_FILL);
}