更新ng-2图表中X轴上的标签

时间:2018-06-22 08:12:41

标签: angular

这个问题让我很头疼,我正在使用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
    }
  ];
}

请帮助我解决这个问题

0 个答案:

没有答案