imagefilledrectangle() Не рисует некоторые из прямоугольников

Есть код, рисующий гистограмму по случайно сгенерированным значениям. Каким-то образом, каждый раз из пяти столбцов пропадают 1-2 случайных. Притом все значения в массиве плотности частот $freq, и коэффициент масштаба $freqkoef всегда инициализированы и обладают адекватными значениями. Я ума не приложу, куда могут пропадать столбцы. Что может быть причиной?

<?php
mt_srand((double)microtime()*1000000);
$numbers = array();
for ($i=0; $i < 100; $i++) { 
 array_push($numbers, mt_rand(0, 9));
}
sort($numbers);

$freq = array(0,0,0,0,0);
foreach ($numbers as $key => $value) {
 if($value < 2){$freq[0] += 1;}
 if($value > 1 and $value < 4){$freq[1] += 1;}
 if($value > 3 and $value < 6){$freq[2] += 1;}
 if($value > 5 and $value < 8){$freq[3] += 1;}
 if($value > 7 and $value < 10){$freq[4] += 1;}
}

foreach ($freq as $key => $value){
 $freq[$key] = $value/2;
}

$height = 300;
$width = 400;
$im = imagecreate($width, $height);
$freqkoef = $height/max($freq);

$background = imagecolorallocate($im, 255, 255, 255);
$red = imagecolorallocate($im, 255, 0, 0);
$green = imagecolorallocate($im, 0, 255, 0);
$blue = imagecolorallocate($im, 0, 0, 255);
$yellow = imagecolorallocate($im, 255, 255, 0);
$cyan = imagecolorallocate($im, 0, 255, 255);
$colors = array($red, $green, $blue, $yellow, $cyan);

for ($i=0; $i < 5; $i++) {
 imagefilledrectangle($im, ($width/5*$i), ($freq[$i]*$freqkoef), ($width/5*$i+$width/5), 300, $colors[$i]);
}

imagettftext($im, 12, 0, 20, 13, $blue, "arial.ttf", "Ось X");
imagettftext($im, 12, -90, 13, 20, $blue, "arial.ttf", "Ось Y");

header ("Content-type: image/jpeg");
imagejpeg($im);

Ответы (0 шт):