. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Statistics\Google; use Fisharebest\Webtrees\I18N; /** * A chart showing the distribution of males and females. */ class ChartSex { /** * Generate a chart showing sex distribution. * * @param int $tot_m The total number of male individuals * @param int $tot_f The total number of female individuals * @param int $tot_u The total number of unknown individuals * @param string|null $color_female * @param string|null $color_male * @param string|null $color_unknown * * @return string */ public function chartSex( int $tot_m, int $tot_f, int $tot_u, string|null $color_female = null, string|null $color_male = null, string|null $color_unknown = null ): string { $color_female ??= '#ffd1dc'; $color_male ??= '#84beff'; $color_unknown ??= '#777777'; $data = [ [ I18N::translate('Type'), I18N::translate('Total') ], ]; if ($tot_m > 0 || $tot_f > 0 || $tot_u > 0) { $data[] = [ I18N::translate('Males'), $tot_m ]; $data[] = [ I18N::translate('Females'), $tot_f ]; $data[] = [ I18N::translate('Unknown'), $tot_u ]; } return view('statistics/other/charts/pie', [ 'title' => null, 'data' => $data, 'colors' => [$color_male, $color_female, $color_unknown], 'labeledValueText' => 'percentage', 'language' => I18N::languageTag(), ]); } }