Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按lagenda项筛选Google图表_Javascript_Google Api_Google Visualization - Fatal编程技术网

Javascript 按lagenda项筛选Google图表

Javascript 按lagenda项筛选Google图表,javascript,google-api,google-visualization,Javascript,Google Api,Google Visualization,我用谷歌图表制作了一个图表,我想应用一些过滤器。 我发现了如何按行(图表下方表格中的主题)过滤图表,而不是按legenda中显示的列(pete、john、carl、andrea)过滤图表 请参见我在JSFIDLE上的图表 但是现在通过legenda项目。。。 我想我忽略了什么,但我真的找不到。。。我希望我的问题很清楚最终找到了一种方法,虽然会有更简单的方法,但可能不会 // Place graph var drawChart = new google.visualization.Dashboa

我用谷歌图表制作了一个图表,我想应用一些过滤器。 我发现了如何按行(图表下方表格中的主题)过滤图表,而不是按legenda中显示的列(pete、john、carl、andrea)过滤图表

请参见我在JSFIDLE上的图表

但是现在通过legenda项目。。。
我想我忽略了什么,但我真的找不到。。。我希望我的问题很清楚

最终找到了一种方法,虽然会有更简单的方法,但可能不会

// Place graph
var drawChart = new google.visualization.Dashboard(document.getElementById('dashboard')).bind([compPicker], [chart, table]);;
drawChart.draw(data);

// Filter respondents
document.getElementById('names').onchange = function(evt) {
if (evt.target.selectedIndex == 0) {
  // Expectancy
  chart.setView({'columns': [0,1,2,3,4]});
  chart.setOption('colors', ["#FFC000","#00b0f0","#ff0000","#92d050"]);
} else if (evt.target.selectedIndex == 1) {
  chart.setView({'columns':  [0,1]});
  chart.setOption('colors', ["#FFC000"]);
} else if (evt.target.selectedIndex == 2) {
  chart.setView({'columns':  [0,2]});
  chart.setOption('colors', ["#00b0f0"]);
} else if (evt.target.selectedIndex == 3) {
  chart.setView({'columns':  [0,3]});
  chart.setOption('colors', ["#ff0000"]);
} else if (evt.target.selectedIndex == 4) {
  chart.setView({'columns':  [0,4]});
  chart.setOption('colors', ["#92d050"]);
} else {
   chart.setView({'columns': [0,1,2,3,4]});
  chart.setOption('colors', ["#FFC000","#00b0f0","#ff0000","#92d050"]);     
}
drawChart.draw(data);
};

<select id="names">
  <option value="all">all</option>
  <option value="pete">pete</option>
  <option value="john">john</option>
  <option value="carl">carl</option>
  <option value="andrea">andrea</option>
</select>
//放置图
var drawChart=new google.visualization.Dashboard(document.getElementById('Dashboard')).bind([compPicker],[chart,table]);;
绘制(数据);
//筛选受访者
document.getElementById('names').onchange=function(evt){
如果(evt.target.selectedIndex==0){
//期望值
setView({'columns':[0,1,2,3,4]});
chart.setOption('colors'、[“#FFC000”、“#00b0f0”、“#ff0000”、“#92d050”]);
}else if(evt.target.selectedIndex==1){
setView({'columns':[0,1]});
chart.setOption('colors',[“#FFC000]”);
}else if(evt.target.selectedIndex==2){
setView({'columns':[0,2]});
chart.setOption('colors',[“#00b0f0]”);
}else if(evt.target.selectedIndex==3){
setView({'columns':[0,3]});
chart.setOption('colors',[“#ff0000]”);
}else if(evt.target.selectedIndex==4){
setView({'columns':[0,4]});
chart.setOption('colors',[“#92d050]”);
}否则{
setView({'columns':[0,1,2,3,4]});
chart.setOption('colors'、[“#FFC000”、“#00b0f0”、“#ff0000”、“#92d050”]);
}
绘制(数据);
};
全部的
皮特
厕所
卡尔
安德烈

完整的代码和示例

终于找到了一种方法,虽然会有更简单的方法,但可能没有

// Place graph
var drawChart = new google.visualization.Dashboard(document.getElementById('dashboard')).bind([compPicker], [chart, table]);;
drawChart.draw(data);

// Filter respondents
document.getElementById('names').onchange = function(evt) {
if (evt.target.selectedIndex == 0) {
  // Expectancy
  chart.setView({'columns': [0,1,2,3,4]});
  chart.setOption('colors', ["#FFC000","#00b0f0","#ff0000","#92d050"]);
} else if (evt.target.selectedIndex == 1) {
  chart.setView({'columns':  [0,1]});
  chart.setOption('colors', ["#FFC000"]);
} else if (evt.target.selectedIndex == 2) {
  chart.setView({'columns':  [0,2]});
  chart.setOption('colors', ["#00b0f0"]);
} else if (evt.target.selectedIndex == 3) {
  chart.setView({'columns':  [0,3]});
  chart.setOption('colors', ["#ff0000"]);
} else if (evt.target.selectedIndex == 4) {
  chart.setView({'columns':  [0,4]});
  chart.setOption('colors', ["#92d050"]);
} else {
   chart.setView({'columns': [0,1,2,3,4]});
  chart.setOption('colors', ["#FFC000","#00b0f0","#ff0000","#92d050"]);     
}
drawChart.draw(data);
};

<select id="names">
  <option value="all">all</option>
  <option value="pete">pete</option>
  <option value="john">john</option>
  <option value="carl">carl</option>
  <option value="andrea">andrea</option>
</select>
//放置图
var drawChart=new google.visualization.Dashboard(document.getElementById('Dashboard')).bind([compPicker],[chart,table]);;
绘制(数据);
//筛选受访者
document.getElementById('names').onchange=function(evt){
如果(evt.target.selectedIndex==0){
//期望值
setView({'columns':[0,1,2,3,4]});
chart.setOption('colors'、[“#FFC000”、“#00b0f0”、“#ff0000”、“#92d050”]);
}else if(evt.target.selectedIndex==1){
setView({'columns':[0,1]});
chart.setOption('colors',[“#FFC000]”);
}else if(evt.target.selectedIndex==2){
setView({'columns':[0,2]});
chart.setOption('colors',[“#00b0f0]”);
}else if(evt.target.selectedIndex==3){
setView({'columns':[0,3]});
chart.setOption('colors',[“#ff0000]”);
}else if(evt.target.selectedIndex==4){
setView({'columns':[0,4]});
chart.setOption('colors',[“#92d050]”);
}否则{
setView({'columns':[0,1,2,3,4]});
chart.setOption('colors'、[“#FFC000”、“#00b0f0”、“#ff0000”、“#92d050”]);
}
绘制(数据);
};
全部的
皮特
厕所
卡尔
安德烈
完整代码和示例