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){
开关(已选择