0

Ich versuche, die Grafik auf der Label-Ebene zu aktualisieren, ich habe es mit den Daten.ng2-charts aktualisieren Sie die Grafik auf dem Etikett

Mein Problem ist, dass mein Diagramm die Daten als Bezeichnung hat. Ich habe zwei Felder mit Startdatum und Enddatum entworfen, damit der Benutzer das Diagramm anpassen und automatisch generieren kann.

Mein Problem ist, dass ich das Feld barChartLabels habe, das eine Zeichenfolge ist und es den Bereich der ausgewählten Daten abruft, aber wenn der Bereich erweitert oder dekrementiert wird, bleibt dieser mit dem gleichen Wert wie beim ersten Mal.

Ich weiß nicht, was die Lösung sein kann, wenn jedes Mal, wenn ich einen Datenbereich abfrage, das Label auf null setzen und es neu generieren. Oder wenn es eine Möglichkeit gibt, so viele Etiketten zu erzeugen, wie Werte wiederhergestellt werden.

zum Beispiel habe ich 4 Datumslabel und ich zeige nur 3 Daten, die korrekte Sache wäre 3 Etikett auch anzuzeigen.

meine Komponente:

mostrarnombre(){ 
    this._invService.getinvfecha(this.fecha1,this.fecha2).subscribe(
     response => { 
     if (!response) { 
     console.log('error al cargar datos'); 
     } else { 

     this.resultData = response; 
     this.barChartLabels = this.resultData.map(item => item.fecha); 

     var d0=this.resultData.map(item => item.sensorluz1); 
     var d1=this.resultData.map(item => item.sensorluz2); 
     var d2=this.resultData.map(item => item.sensorluz3); 
     this.barChartData.push({data: d0, label: 'sensorluz1'}); 
     this.barChartData.push({data: d1, label: 'sensorluz2'}); 
     this.barChartData.push({data: d2, label: 'sensorluz3'}); 
     let clone = JSON.parse(JSON.stringify(this.barChartData)); 
     clone[0].data = d0; 
     clone[1].data = d1; 
     clone[2].data = d2; 
     this.barChartData = clone; 
     this.loaded = true; 
     } 
    }, 
    error =>{ 
     console.log(<any>error); 
    } 
); 

Zuerst rufe ich die 4 Spalten, wie im Bild zu sehen:

Grafica4

wenn es nur 3 Spalten zeigen, würde die Aktualisierung und es zeigt 4 da es das Etikett nicht aktualisiert. Wie im Bild gezeigt.

Wie könnte ich dieses Problem lösen, weiß ich nicht, wie das Feld

this.barChartLabels = this.resultData.map (item => item.day); 

diese enthält meine item.day zu aktualisieren: ["2017-09-05T11: 15: 06.000Z", "2017-09-05T17: 22: 14.000Z", "2017-09-05T17: 22: 14.000Z", "2017- 09-12T12: 22: 00ZZ "]

Grafica2

vielen Dank Grüße

Antwort

Verwandte Themen