Staram się zrobić wykres Chart.js w Laravel/PHP za pomocą wtyczki Fxcosta. Więc jestem całkiem nowy w tej społeczności, podobnie jak języki programowania. Staram się stworzyć dynamiczny wykres ze wszystkimi dniami danego miesiąca. (w listopadzie = 30 dni). W tym zadaniu stworzyłem funkcję (calcDaysOfActualMonth), która zwraca tablicę ze wszystkimi dniami bieżącego miesiąca. Mój obecny problem polega na tym, że chcę rozpocząć wykres od dnia 1, a nie od 0. Kiedy więc zmieniam indeks pętli na 1, nie mogę przekazać tablicy $labelsArr do mojego wykresu, ponieważ nie zaczyna się od 0.
// CHART LAST MONTH
$labelsArr = $this->calcDaysOfActualMonth();
$chartjs = app()
->chartjs
->name('lineChartTest')
->type('line')
->size(['width' => 400, 'height' => 200])
->labels($labelsArr)
->datasets([
[
"label" => "Actual Month",
'backgroundColor' => "rgba(38, 185, 154, 0.31)",
'borderColor' => "rgba(38, 185, 154, 0.7)",
"pointBorderColor" => "rgba(38, 185, 154, 0.7)",
"pointBackgroundColor" => "rgba(38, 185, 154, 0.7)",
"pointHoverBackgroundColor" => "#fff",
"pointHoverBorderColor" => "rgba(220,220,220,1)",
'data' => [65, 59, 55, 12, 33, 65, 59, 80, 81, 56,65, 12, 55, 12, 33, 55, 59, 80, 81, 56,65, 59, 80, 81, 56,65, 59, 80, 81, 56],
]
])
->options([]);
Moja funkcja próbująca utworzyć indeksowanie tablicy z 1, zaczynając od 0 działa, zaczynając od 1 nie działa:
private function calcDaysOfActualMonth(){
$days = date("t");
$daysArr = [];
for($i=0; $i<$days; $i++){
$daysArr[$i] = $i;
}
return $daysArr;
}
Mój wykres to ten, który obecnie zaczyna się od 0: Mój wykres bieżącego miesiąca
Przepraszam szczerze, kiedy to naprawdę trywialny problem. I mam nadzieję, że podałem wystarczająco dużo informacji! Z góry bardzo dziękuję.
1 odpowiedź
Tak, to był banalny problem. Tak więc odpowiedź Magnusa Erikssona pomogła mi rozwiązać ten problem:
Było to: $daysArr[] = $i + 1;
Bardzo dziękuję za szybką odpowiedź!