Angularjs 当选项更改时清除条形图

Angularjs 当选项更改时清除条形图,angularjs,google-visualization,bar-chart,Angularjs,Google Visualization,Bar Chart,当我根据选择选择季度和年度时,将创建条形图。当选择另一个选项时,应清除先前创建的条形图。但它仍然显示上一个选择的条形图 var chart1 = new google.visualization.ColumnChart( document.getElementById('chart0') ); var chartTotal1 = new google.visualization.ColumnChart( document.getElementById('chart1') )

当我根据选择选择季度和年度时,将创建条形图。当选择另一个选项时,应清除先前创建的条形图。但它仍然显示上一个选择的条形图

var chart1 = new google.visualization.ColumnChart(
   document.getElementById('chart0')
   );
var chartTotal1 = new google.visualization.ColumnChart(
  document.getElementById('chart1')
   );
  $.ajax({
         url: url,
         type: "Get",
         dataType: "json",
         data: {
             Year: selectedYear,
             Filtertxt: selectedQuarter
         },
         crossDomain: true,
         success: function(data) {
                 if (data.length > 0) {

                if (selectedQuarter == 'Q1') {

                    drawchartQ1(data);

                }

                else {
                    clearChart1();
                }

                if (selectedQuarter == 'Q2') {

                    drawchartQ2(data);


                }
                else {
                    clearChart1();
                }


                if (selectedQuarter == 'Q3') {

                    drawchartQ3(data);

                }

                else {
                    clearChart1();
                }

                if (selectedQuarter == 'Q1,Q2,Q3,Q4') {


                    drawchartAll(data);
                }

                else {
                    clearChart1();
                }


            }


}
    });

    function clearChart1() {
        chart1.clearChart();
        chartTotal1.clearChart();
    }

    function drawchartQ1(data) {
        // another  graph to display the total of sprint
        var total = 0;
        for (var i = 0; i < data.length; i++) {
            total = total + data[i].TotalAmt;
        }
        var data2 = google.visualization.arrayToDataTable([
       ['Months', 'Total'],
       [null, total],
       [null, null]




        ]);

        var options = {
            width: 600,
            height: 400,
            vAxis: {
                title: ""
            },

            isStacked: true,
            hAxis: {
                title: "All Months"
            }
        };

        options.title = 'Quarter 1 Total';
        chartTotal1.draw(data2, options);


        var data1 = google.visualization.arrayToDataTable([
        ['Month', 'ID1', 'ID2', 'ID3', 'ID4', 'ID5'],
        ['Jan,2017', data[0].TotalAmt, null, null, null, null],

        ['Feb,2017', null, data[1].TotalAmt, data[2].TotalAmt, null, null],

        ['Mar,2017', null, null, null, data[3].TotalAmt, data[4].TotalAmt],


        ]);

        var options = {
            width: 600,
            height: 400,
            vAxis: {
                title: ""
            },

            isStacked: true,
            hAxis: {
                title: "Month"
            }
        };

        options.title = 'Quarter 1';
        chart1.draw(data1, options);


    }
var chart1=新的google.visualization.ColumnChart(
document.getElementById('chart0')
);
var chartTotal1=新的google.visualization.ColumnChart(
document.getElementById('chart1')
);
$.ajax({
url:url,
键入:“获取”,
数据类型:“json”,
数据:{
年份:选择年份,
FilterText:selectedQuarter
},
跨域:是的,
成功:功能(数据){
如果(data.length>0){
如果(selectedQuarter==“Q1”){
图纸Q1(数据);
}
否则{
clearChart1();
}
如果(selectedQuarter==“Q2”){
图纸Q2(数据);
}
否则{
clearChart1();
}
如果(selectedQuarter==“Q3”){
图纸Q3(数据);
}
否则{
clearChart1();
}
如果(selectedQuarter=='Q1、Q2、Q3、Q4'){
drawchartAll(数据);
}
否则{
clearChart1();
}
}
}
});
函数clearChart1(){
chart1.clearChart();
chartTotal1.clearChart();
}
函数drawchartQ1(数据){
//另一个显示sprint总数的图形
var合计=0;
对于(变量i=0;i
保存对图表的引用,以便以后清除

使用图表方法-->
clearChart()

安装程序类似于以下代码段

function drawCharts() {
  var chart1 = new google.visualization.ColumnChart(
    document.getElementById('chart0')
  );
  var chartTotal1 = new google.visualization.ColumnChart(
    document.getElementById('chart1')
  );

  $.ajax({
    url: url,
    type: "Get",
    dataType: "json",
    data: {
      Year: selectedYear,
      Filtertxt: selectedQuarter
    },
    crossDomain: true,
  }).done(function (data) {
    if (data.length > 0) {
      switch (selectedQuarter) {
        case 'Q1':
          drawchartQ1(data);
          break;

        case 'Q2':
          drawchartQ2(data);
          break;

        case 'Q3':
          drawchartQ3(data);
          break;

        case 'Q4':
          drawchartQ4(data);
          break;

        default:
          clearChart1();
      }
    } else {
      clearChart1();
    }
  });

  function clearChart1() {
    chart1.clearChart();
    chartTotal1.clearChart();
  }

  function drawChart1(data) {
    var data1 = google.visualization.arrayToDataTable([
      ['Month', 'ID1', 'ID2', 'ID3', 'ID4', 'ID5'],
      ['Jan,2017', data[0].TotalAmt, null, null, null, null],
      //['Jan,2017', null, null, null, null, null],
      ['Feb,2017', null, data[1].TotalAmt, data[2].TotalAmt, null, null],
      //['Feb,2017', null, null, null, null, null],
      ['Mar,2017', null, null, null, data[3].TotalAmt, data[4].TotalAmt],
      //['Mar,2017', null, null, null, null, null]
    ]);
    var options = {
      width: 600,
      height: 400,
      vAxis: {
        title: ""
      },
      isStacked: true,
      hAxis: {
        title: "Month"
      }
    };
    options.title = 'Quarter 1';

    chart1.draw(data1, options);

    // another  graph to display the total of sprint
    var total = 0;
    for (var i = 0; i < data.length; i++) {
      total = total + data[i].TotalAmt;
    }

    var data2 = google.visualization.arrayToDataTable([
      ['Months', 'IDs'],
      [null, total],
      [null, null]
    ]);
    var options = {
      width: 600,
      height: 400,
      vAxis: {
         title: ""
      },
      isStacked: true,
      hAxis: {
         title: "All Months"
      }
    };
    options.title = 'Quarter 1 Total';
    chartTotal1.draw(data2, options);
  }
}
函数绘图图(){
var chart1=新的google.visualization.ColumnChart(
document.getElementById('chart0')
);
var chartTotal1=新的google.visualization.ColumnChart(
document.getElementById('chart1')
);
$.ajax({
url:url,
键入:“获取”,
数据类型:“json”,
数据:{
年份:选择年份,
FilterText:selectedQuarter
},
跨域:是的,
}).完成(功能(数据){
如果(data.length>0){
开关(选定的四分之一){
个案‘Q1’:
图纸Q1(数据);
打破
案例'Q2':
图纸Q2(数据);
打破
案例“Q3”:
图纸Q3(数据);
打破
案例“Q4”:
图纸Q4(数据);
打破
违约:
clearChart1();
}
}否则{
clearChart1();
}
});
函数clearChart1(){
chart1.clearChart();
chartTotal1.clearChart();
}
功能图1(数据){
var data1=google.visualization.arrayToDataTable([
[‘月份’、‘ID1’、‘ID2’、‘ID3’、‘ID4’、‘ID5’],
['2017年1月],数据[0]。合计金额,空,空,空,空],
//['2017年1月',空,空,空,空,空],
['2017年2月],空,数据[1]。合计金额,数据[2]。合计金额,空,空],
//['2017年2月',空,空,空,空,空],
['2017年3月],空,空,空,数据[3]。合计金额,数据[4]。合计金额],
//['2017年3月',空,空,空,空,空]
]);
变量选项={
宽度:600,
身高:400,
言辞:{
标题:“
},
isStacked:是的,
哈克斯:{
标题:“月”
}
};
options.title=‘第1季度’;
图表1.绘图(数据1,选项);
//另一个显示sprint总数的图形
var合计=0;
对于(变量i=0;i
保存对图表的引用,以便以后清除

使用图表方法-->
clearChart()

安装程序类似于以下代码段

function drawCharts() {
  var chart1 = new google.visualization.ColumnChart(
    document.getElementById('chart0')
  );
  var chartTotal1 = new google.visualization.ColumnChart(
    document.getElementById('chart1')
  );

  $.ajax({
    url: url,
    type: "Get",
    dataType: "json",
    data: {
      Year: selectedYear,
      Filtertxt: selectedQuarter
    },
    crossDomain: true,
  }).done(function (data) {
    if (data.length > 0) {
      switch (selectedQuarter) {
        case 'Q1':
          drawchartQ1(data);
          break;

        case 'Q2':
          drawchartQ2(data);
          break;

        case 'Q3':
          drawchartQ3(data);
          break;

        case 'Q4':
          drawchartQ4(data);
          break;

        default:
          clearChart1();
      }
    } else {
      clearChart1();
    }
  });

  function clearChart1() {
    chart1.clearChart();
    chartTotal1.clearChart();
  }

  function drawChart1(data) {
    var data1 = google.visualization.arrayToDataTable([
      ['Month', 'ID1', 'ID2', 'ID3', 'ID4', 'ID5'],
      ['Jan,2017', data[0].TotalAmt, null, null, null, null],
      //['Jan,2017', null, null, null, null, null],
      ['Feb,2017', null, data[1].TotalAmt, data[2].TotalAmt, null, null],
      //['Feb,2017', null, null, null, null, null],
      ['Mar,2017', null, null, null, data[3].TotalAmt, data[4].TotalAmt],
      //['Mar,2017', null, null, null, null, null]
    ]);
    var options = {
      width: 600,
      height: 400,
      vAxis: {
        title: ""
      },
      isStacked: true,
      hAxis: {
        title: "Month"
      }
    };
    options.title = 'Quarter 1';

    chart1.draw(data1, options);

    // another  graph to display the total of sprint
    var total = 0;
    for (var i = 0; i < data.length; i++) {
      total = total + data[i].TotalAmt;
    }

    var data2 = google.visualization.arrayToDataTable([
      ['Months', 'IDs'],
      [null, total],
      [null, null]
    ]);
    var options = {
      width: 600,
      height: 400,
      vAxis: {
         title: ""
      },
      isStacked: true,
      hAxis: {
         title: "All Months"
      }
    };
    options.title = 'Quarter 1 Total';
    chartTotal1.draw(data2, options);
  }
}
函数绘图图(){
var chart1=新的google.visualization.ColumnChart(
document.getElementById('chart0')
);
var chartTotal1=新的google.visualization.ColumnChart(
document.getElementById('chart1')
);
$.ajax({
url:url,
键入:“获取”,
数据类型:“json”,
数据:{
年份:选择年份,
FilterText:selectedQuarter
},
跨域:是的,
}).完成(功能(数据){
如果(data.length>0){
开关(已选择