, * einnahmen: list, * ausgaben: list, * salden: list, * summe_einnahmen: float, * summe_ausgaben: float, * beschriftung: string, * hatWerte: bool * } $reihe */ $monate = $reihe['monate']; $anzahl = max(1, count($monate)); $skala = Vermoegensentwicklung::skala( array_merge($reihe['einnahmen'], $reihe['ausgaben'], $reihe['salden'], [0.0]) ); $balken = 8; $luecke = 2; $achse = 56; $oben = 10; $plotH = 150; $unten = 32; $hoehe = $oben + $plotH + $unten; $y = static function (float $wert) use ($skala, $oben, $plotH): float { return round($oben + $plotH * ($skala['max'] - $wert) / ($skala['max'] - $skala['min']), 2); }; $mitte = static function (int $nummer) use ($anzahl): string { return round(($nummer + 0.5) / $anzahl * 100, 3) . '%'; }; $achsenzahl = static fn(float $wert): string => number_format($wert, 0, ',', '.'); $nulllinie = $y(0.0); /** Ein Balken von der Nulllinie bis zum Wert – y und Höhe in einem. */ $saeule = static function (float $wert) use ($y, $nulllinie): array { $spitze = $y($wert); return ['y' => min($spitze, $nulllinie), 'h' => round(abs($nulllinie - $spitze), 2)]; }; ?>
Einnahmen und Ausgaben $monat): ?> $saldo): ?> 0): ?>
  • Einnahmen
  • Ausgaben
  • Saldo