Javascript 如何在Angularjs Google图表中隐藏和显示列
我有一个角度谷歌图表,每当用户点击删除R1按钮时,R1应该被删除,当用户点击R2时,R2必须被删除。这里我有我的[Fiddle][1]我试着使用谷歌图表方法删除removeColumn['r1'],就像谷歌图表使用的一样,但没有起作用我需要在angularjs谷歌图表中隐藏和显示列的方法。 如果你有任何想法,请告诉我Javascript 如何在Angularjs Google图表中隐藏和显示列,javascript,angularjs,charts,google-visualization,Javascript,Angularjs,Charts,Google Visualization,我有一个角度谷歌图表,每当用户点击删除R1按钮时,R1应该被删除,当用户点击R2时,R2必须被删除。这里我有我的[Fiddle][1]我试着使用谷歌图表方法删除removeColumn['r1'],就像谷歌图表使用的一样,但没有起作用我需要在angularjs谷歌图表中隐藏和显示列的方法。 如果你有任何想法,请告诉我 [1]: http://jsfiddle.net/3crujkav/ 使用复选框可能会更容易 var data; var colors = ['red', 'blue', 'gr
[1]: http://jsfiddle.net/3crujkav/
使用复选框可能会更容易
var data;
var colors = ['red', 'blue', 'green'];
$scope.$watch('datax', function(newValue, oldValue) {
data = google.visualization.arrayToDataTable($scope.datax);
colors.forEach(function (color, index) {
data.setColumnProperty(index + 1, 'color', color);
});
drawChart();
}, true);
$scope.toggleCol = function() {
drawChart();
}
function drawChart() {
var chartColors = [];
var chartColumns = [0];
var view = new google.visualization.DataView(data);
var checks = document.getElementsByTagName('input');
for (var i = 0; i < checks.length; i++) {
var seriesColumn = parseInt(checks[i].value);
if (checks[i].checked) {
chartColumns.push(seriesColumn);
chartColors.push(data.getColumnProperty(seriesColumn, 'color'));
}
}
view.setColumns(chartColumns);
options.colors = chartColors;
chart.draw(view, options);
}
然后使用新的数据视图完成绘图
function drawChart() {
var chartColors = [];
var chartColumns = [0];
// use dataView here
var view = new google.visualization.DataView(dataView);
...
您好@WhiteHat非常感谢您的回复,先生,是的,它是有效的,但部分,先生,我将只在第一次呼叫时获取所有数据,因此假设我有100条记录,默认情况下,我在图表中显示一条记录。现在,当用户选择任何人时,我应该将其添加到图表中,如果他取消选择,则我将从图表中删除它。简言之,我不知道用户将从multiselect下拉列表中选择多少条记录,因此我们无法提前确定图表标题和颜色,一旦用户检查R2,我将在他选择R3时将R2添加到图表中,我将从可用数据中添加R3。这是一个处理6条记录的小提琴,但可能有20条、30条或40条记录。您能将其设置为动态吗?非常感谢你的回答,先生,给你一票。请帮助我的动态,然后将接受它再次感谢先生。这个只有在我为每个记录定义颜色时才起作用,当用户选择任何R1检查时,是否可以动态定义颜色?因为我将拥有所有数据,但只需要显示第一条记录,然后我不知道哪一个用户单击,然后我需要添加到图表中。javascript/浏览器不提供调色板-你必须从某处获得颜色-你想使用像提供的随机颜色生成器吗?真的很好,先生,我是认真的。我还有一个疑问,先生,后端数据是数组格式的,所有的数据字符串都是类似于这个JSFIDLE的,你能告诉我一种将列格式化为数字或整数的方法吗?实际上,我需要的所有数字都是整数来处理这个图表。我不能一开始就定义它们,因为我们正在添加列,有什么想法吗,先生,请帮我做这个。
function drawChart() {
var chartColors = [];
var chartColumns = [0];
// use dataView here
var view = new google.visualization.DataView(dataView);
...