Mit ChartJS 2.4, bin ich für eine Reihe von Datensätzen zwischen zwei Daten abfragt:Diagramm JS - gesetzt Beginn der Woche für x-Achse Zeitreihe
startDate: '2016-11-05T18:06:17.762Z'
endDate: '2016-12-05T18:06:17.762Z'
die Waage Config gegeben, möchte ich die Woche beginnen auf das ausgewählte Datum des Benutzers Bereich ...
isoWeekday: true,
type: 'time',
unitStepSize: 1,
time: {
displayFormats: {
'week': 'MMM DD'
},
unit: 'week',
},
Dies wird mir ein verkürztes graph:
So, wenn keine Datensätze für das Startdatum zurückgegeben werden, 11/5
, ich manuell Daten einfügen am Anfang des Arrays mit dem Wert 0 nur um sicherzustellen, dass ab heute der Benutzer erwartet wird angezeigt:
if (scope.chart_data.labels.indexOf('11/5') == -1) {
scope.chart_data.labels.unshift('11/5');
scope.chart_data.datasets[0].data.unshift(0);
}
Außer tun dies awkardly die Grafik erstreckt sich ohne Daten von einer Woche aus ... und nicht startet die Woche auf 11/5
:
Wie kann ich das Diagramm auf 11/5
starten, oder je nachdem, welcher Woche ich will, und haben die unit: week
c onfig Inkrementieren von dort?
Wenn ich unit: week
entfernen und verwenden unitStepSize: 7
manuell die Schrittgröße zu setzen, tut es das, was ich am Anfang wollen, aber aus irgendeinem Grund mushes im letzten Label:
Mit min
max
in das time
Objekt,
max: scope.end_display, // 12/05/2016
min: scope.start_display // 11/05/2016
ich:
Warum startet das Liniendiagramm am 11/5 nicht?
Labels:
["11/05/2016", "11/06/2016", "11/07/2016", "11/08/2016", "11/09/2016", "11/13/2016", "11/15/2016", "11/16/2016", "11/17/2016", "11/20/2016", "11/27/2016", "11/28/2016", "11/29/2016", "12/01/2016", "12/04/2016"]
Daten:
[0, 3, 2, 1, 1, 7, 3, 2, 26, 2, 6, 3, 1, 1, 1]
Danke dafür, aber es verursacht das gleiche Problem. Siehe oben Bearbeiten – Growler
Sie sagten, es beginnt nicht am 11/5, aber in dem Bildschirmschoner, den Sie bereitgestellt haben, tut es? Könntest du versuchen, eine Geige zu schaffen? –