Вызов
&fil01=x
,где x — это глубина фильтра (от 1 до …). Подбирается индивидуально, ходовые значения от 1 до 500. При x=500 сглаживает в почти ровную линию. На втором графике х=100.
Работает быстро и не тормозит!
Код: Выделить всё
//---------------------------- fil01
if ($_GET['fil01']) {
$fil01=$_GET['fil01'];
} else {
$fil01=0;
}
if($fil01!=0){
$all = count($values);
for($z=0; $z<$fil01; $z++){
for($i=0; $i<$all-1; $i++){
if ($values[$i]!=0 && $values[$i+1]!=0) {
$values[$i]=($values[$i]+$values[$i+1])/2;
}
}
for($i=$all-1; $i>=0; $i--){
if ($values[$i]!=0 && $values[$i-1]!=0) {
$values[$i]=($values[$i]+$values[$i-1])/2;
}
}
} //for($z=0;
} //if($fil01==1)
$DataSet->AddPoint($values,"Serie1");
$DataSet->AddPoint($hours,"Serie3");