0

J'essaie de mettre à jour le graphique au niveau de l'étiquette, je l'ai avec les données.ng2-charts mettre à jour le graphique sur l'étiquette

Mon problème est que mon graphique a les dates comme étiquette. J'ai conçu deux champs de date de début et de date de fin pour que l'utilisateur puisse personnaliser le graphique et le générer automatiquement. Mon problème est que j'ai le champ barChartLabels qui est une chaîne et il récupère la plage de dates sélectionnées, mais quand la gamme est étendue ou décrémentée, elle reste avec la même valeur que la première fois.

Je ne sais pas ce que la solution peut être si chaque fois que j'interroge une plage de données, mettre l'étiquette à zéro et la re-générer. Ou s'il existe un moyen de générer autant d'étiquettes que les valeurs récupérées. Par exemple, j'ai 4 étiquettes de date et je montre seulement 3 données, la bonne chose serait d'afficher 3 étiquettes aussi bien.

mon composant:

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); 
    } 
); 

Au début, je récupérer les 4 colonnes comme on le voit dans l'image:

Grafica4

lors de la mise à jour il ne faut montrer 3 colonnes et il montre 4 car il ne met pas à jour l'étiquette. Comme indiqué dans l'image.

Comment pourrais-je résoudre ce problème, je ne sais pas comment mettre à jour le champ

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

il contient mon item.day: ["2017-09-05T11: 15: 06.000Z", "2017-09-05T17: 22: 14.000Z", "2017-09-05T17: 22: 14.000Z", "2017- 09-12T12: 22: 00ZZ "]

Grafica2

merci salutations très beaucoup

Répondre