Files
nuhodds_fi4/app/Actions/Statistics/MoveingAverage.php
T
2026-04-30 08:38:04 +02:00

46 lines
1.3 KiB
PHP

<?php
namespace App\Actions\Statistics;
class MoveingAverage
{
public static function get(&$data)
{
// dd($data);
$arr = $data['datasets'][0]['data'];
$new = [];
$last = count($arr);
$second_last = $last--;
foreach ($arr as $key => $value) {
switch ($key) {
case 0:
$new[] = $value;
break;
case 1:
$new[] = ($arr[0] + $value) / 2;
break;
case $second_last:
$new[] = ($arr[$second_last] + $arr[$last]) / 2;
break;
case $last:
$new[] = $arr[$last];
break;
default:
$before = $key--;
$after = $key++;
$new[] = ($arr[$before] + $value + $arr[$after]) / 3;
break;
}
}
// $data['datasets'][0]['backgroundColor'] = '#00a63e';
$data['datasets'][0]['borderColor'] = '#00a63e';
// $data['datasets'][0]['fill'] = true;
$data['datasets'][0]['tension'] = 0.5;
// $data['datasets'][0]['borderRadius'] = 30;
$data['datasets'][0]['data'] = $new;
}
}