31 lines
874 B
PHP
31 lines
874 B
PHP
<?php
|
|
|
|
namespace App\Filament\Widgets\Charts;
|
|
|
|
class HelperMoveingAverage
|
|
{
|
|
public static function get(&$data)
|
|
{
|
|
if (! $data) {
|
|
return;
|
|
}
|
|
|
|
$data['labels'] = array_slice($data['labels'], 2);
|
|
|
|
$datasets = $data['datasets'];
|
|
foreach ($datasets as $k => $dataset) {
|
|
$arr = $dataset['data'];
|
|
$new = [];
|
|
$last = count($arr);
|
|
foreach ($arr as $key => $value) {
|
|
if ($key == 1 && $last > 2) {
|
|
$new[] = round(((float) $arr[0] + (float) $value + (float) $arr[2]) / 3, 1);
|
|
} elseif ($key > 1 && $key < $last - 1) {
|
|
$new[] = round(((float) $arr[$key - 1] + (float) $value + (float) $arr[$key + 1]) / 3, 1);
|
|
}
|
|
}
|
|
$data['datasets'][$k]['data'] = $new;
|
|
}
|
|
}
|
|
}
|