这个问题让我很头疼,我正在使用ng-2图表js显示图表,并且正在尝试更新 基于从图表上的下拉列表中选择的活动的X轴标签,但它始终会引发图表错误,但未定义,我在过去1天一直在执行此操作,但未得到任何解决方案。 这是我的代码:-
onOptionsSelected(e,activity){
this.activitySelected = activity;
this.XAxis=[];
this.XAxisData=[];
var daysInMonth : any = moment().daysInMonth();
if(activity =='weekly'){
for(var w=0;w<7;w++){
this.XAxis.push({
startDate:moment().startOf('weeks').add(w,'days').format('YYYY-MM-DD'),
endDate:moment().startOf('weeks').add(w,'days').format('YYYY-MM-DD')
});
this.XAxisData[w]=moment().startOf('weeks').add(w,'days').format('dddd');
}
}else if(activity =='monthly'){
for(var w=0;w<daysInMonth;w++){
this.XAxis.push({
startDate:moment().startOf('month').add(w,'days').format('YYYY-MM-DD'),
endDate:moment().startOf('month').add(w,'days').format('YYYY-MM-DD')
});
this.XAxisData[w] = moment().startOf('month').add(w,'days').format('D')
console.log('this.labels.......................', this.XAxisData);
}
}else{
console.log(activity);
for(var w=0;w<12;w++){
this.XAxis.push({
startDate:moment().startOf('year').add(w,'months').format('YYYY-MM-DD'),
endDate:moment().startOf('year').add(w,'months').format('YYYY-MM-DD')
});
this.XAxisData[w]=moment().startOf('year').add(w,'months').format('MMM')
}
}
this.update_chart();
}
update_chart() {
setTimeout(() => {
if (this.chart && this.chart.chart && this.chart.chart.config) {
console.log("hii");
this.labels=this.chart.chart.config.data.labels;
this.chart.chart.update();
}
this.createGraph();
});
}
createGraph(){
console.log('3333333....................', this.XAxisData);
console.log('4444444444444444....................', this.labels);
this.chartData = [
{
label: 'New therapists',
data: this.YAxisThreaphit
},
{
label: 'New Subscriptions',
data: [1, 2, 4, 1, 5, 5, 5, 4, 2, 0, 1, 5] ,
type: 'line'
},
{
label : 'New Clients',
data : this.YAxisClient
}
];
}
请帮助我解决这个问题