@php $chartId = 'aboChart_' . str_replace('.', '', microtime(true)); $chartDataJson = json_encode(array_values($chartData)); $chartLabelsJson = json_encode(array_values($chartMonths)); $nonNullValues = array_filter($chartData, fn($v) => $v !== null); $maxVal = count($nonNullValues) ? max($nonNullValues) : 0; // Großzügige Schritte für die Y-Achse if ($maxVal <= 5) { $stepSize = 1; } elseif ($maxVal <= 10) { $stepSize = 2; } elseif ($maxVal <= 20) { $stepSize = 5; } elseif ($maxVal <= 50) { $stepSize = 10; } elseif ($maxVal <= 100) { $stepSize = 20; } elseif ($maxVal <= 200) { $stepSize = 50; } elseif ($maxVal <= 500) { $stepSize = 100; } elseif ($maxVal <= 1000) { $stepSize = 200; } else { $stepSize = 500; } // Genug Platz nach oben, damit das Label nicht abgeschnitten wird $suggestedMax = $maxVal + $stepSize; @endphp