Google apps script Google Visualization Column Chart将查询中的数据列设置为角色:";“风格”;
我有一个谷歌可视化柱状图,来自一个运行良好的查询。我可以使用下面的代码片段,在查询后使用样式角色设置a列。它向查询数据添加一个新列,并将角色设置为“样式”。这会相应地为每个柱状图条着色。但是我希望能够使用我的一个查询列“C”作为颜色代码,而不必在后面添加它。我好像没法让它工作。有什么想法吗?我在代码段下面发布了更多的代码,以便您可以看到我的来历。非常感谢你们的帮助。布兰登Google apps script Google Visualization Column Chart将查询中的数据列设置为角色:";“风格”;,google-apps-script,google-visualization,Google Apps Script,Google Visualization,我有一个谷歌可视化柱状图,来自一个运行良好的查询。我可以使用下面的代码片段,在查询后使用样式角色设置a列。它向查询数据添加一个新列,并将角色设置为“样式”。这会相应地为每个柱状图条着色。但是我希望能够使用我的一个查询列“C”作为颜色代码,而不必在后面添加它。我好像没法让它工作。有什么想法吗?我在代码段下面发布了更多的代码,以便您可以看到我的来历。非常感谢你们的帮助。布兰登 var data=response.getDataTable(); addColumn({type:“string”,rol
var data=response.getDataTable();
addColumn({type:“string”,role:“style”});
数据集单元格(0,2,'red');
setCell(1,2,'orange');
setCell(2,2,'green');
数据集单元格(3,2,'黄色');
//上面还有更多代码,但我推荐了。
函数drawDashboard(){
var query=new google.visualization.query(
"网址";;
setQuery('selecta,B,C');
发送(handleQueryResponse);
}
函数handleQueryResponse(响应){
if(response.isError()){
警报('查询中的错误:'+response.getMessage()+'+response.getDetailedMessage());
返回;
}
var data=response.getDataTable();
addColumn({type:“string”,role:“style”});
数据集单元格(0,2,'red');
setCell(1,2,'orange');
setCell(2,2,'green');
数据集单元格(3,2,'黄色');
//创建一个仪表板。
var dashboard=new google.visualization.dashboard(
document.getElementById('dashboard_div');
//创建一个范围滑块,传递一些选项
var scoreSlider=新的google.visualization.ControlWrapper({
controlType:'NumberArrangeFilter',
containerId:“过滤器分区”,
选项:{
filterColumnLabel:“类别平均值”
}
});
var ClassFilter=new google.visualization.ControlWrapper({
controlType:“CategoryFilter”,
containerId:'Classfilter\u div',
选项:{
'filterColumnLabel':'Teacher Name','ui':{'labelStacking':'veClasscal','allowTyping':true,'allowMultiple':true
}
}});
//创建柱形条形图,传递一些选项
var columnChart=new google.visualization.ChartWrapper({
chartType:“ColumnChart”,
集装箱船:“海图分区”,
选项:{
标题:“班级数学能力”,
身高:320,
宽度:500,
图表区:{左:“10%”,顶:“10%”,宽:“80%”,高:“60%”,
hAxis:{textStyle:{fontSize:14},title:'Teacher Name',titleTextStyle:{fontSize:14},textStyle:{fontSize:14},
vAxis:{minValue:0,maxValue:100,标题:“数学熟练程度平均值”,标题文字样式:{fontSize:14},文字样式:{fontSize:14},
图例:{位置:'无'},
动画:{持续时间:1500,放松:'out'},
颜色:['#a4c2f4','#3c78d8']
},
视图:{列:[0,1,2]}
});
//定义一个表
var table=new google.visualization.ChartWrapper({
chartType:'表',
数据表:数据,
集装箱运输:“表_div”,
选项:{
宽度:“400px”
},
视图:{列:[0,1,]}
});
//建立依赖关系,声明“过滤器”驱动“柱形图”,
//这样,柱状图将只显示通过的条目
//给定选定的滑块范围。
dashboard.bind([scoreSlider],[table,columnChart]);
bind([ClassFilter],[table,columnhart]);
//绘制仪表板。
仪表盘.绘图(数据);
}//下面有更多代码,但我推荐了。
我不确定您将如何将其添加到查询中的列中,但
使用带有计算列的
假设要测试的值位于第二列--索引1
var data = response.getDataTable();
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, {
type: "string",
role: "style",
calc: function (dataTable, rowIndex) {
if (dataTable.getValue(rowIndex, 1) < 0.69) {
return 'color: red;';
} else if ((dataTable.getValue(rowIndex, 1) >= 0.69) && (dataTable.getValue(rowIndex, 1) <= 0.79)) {
return 'color: yellow;';
} else {
return 'color: green;';
}
}
}]);
var data=response.getDataTable();
var view=newgoogle.visualization.DataView(数据);
view.setColumns([0,1,1{
键入:“字符串”,
角色:“风格”,
计算:函数(数据表,行索引){
if(dataTable.getValue(rowIndex,1)<0.69){
返回“颜色:红色;”;
}否则如果((dataTable.getValue(rowIndex,1)>=0.69)和&(dataTable.getValue(rowIndex,1)只是在这里大声思考——那么您将在C列中获得所需的颜色值(即'color:green'
)?这似乎可行,但您可能需要在以后修改列属性。--您需要为每个值指定一种特定的颜色,还是为每个值指定一种不同的颜色?通过将每个值转换为它自己的列,将迫使谷歌为每个值显示一种不同的颜色-从@WhiteHat找到,谢谢您的回复。理想情况下,我是looking为列设置条件格式,如值为