我正在创建一个简单的图表,以便了解Google Apps脚本中的图表服务的工作原理。到目前为止,这就是我所做的:
守则:
function doGet() {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1x9g2N5gFCAeU6DkS-BYiB6womhsNfT3kPH2L22ZI3iM/edit#gid=973420299");
var sheetDados = ss.getSheetByName("Receita e Investimento");
var lastLine = sheetDados.getLastRow();
var dataTableValeus = sheetDados.getRange(16, 1, lastLine, 3).getValues();
var data = Charts.newDataTable()
.addColumn(Charts.ColumnType.DATE, "Data")
.addColumn(Charts.ColumnType.NUMBER, "Cost")
.addColumn(Charts.ColumnType.NUMBER, "Revenue");
for(var linha = 0, len = dataTableValeus.length; linha < len; linha++){
if (dataTableValeus[linha][0] != ""){
data.addRow(dataTableValeus[linha]);
}
}
data.build();
var chart = Charts.newAreaChart()
.setTitle("Revenue and Cost")
.setDataTable(data)
.setOption("vAxis.format", "currency")
.setOption("hAxis.format", "d/MMM/yyyy")
.setOption("legend.position", "top")
.setOption("selectionMode", "multiple")
.setOption("tooltip.trigger", "selection")
.setOption("aggregationTarget", "series")
.setDimensions(600, 300)
.build();
var dashboard = Charts.newDashboardPanel()
.setDataTable(data)
.build();
var uiApp = UiApp.createApplication();
dashboard.add(uiApp.createVerticalPanel()
.add(uiApp.createHorizontalPanel()
.add(chart)
.setSpacing(10)));
uiApp.add(dashboard);
return uiApp;
}
我想找到一种在仪表板中选择的方法,该系列显示在图表中。我已尝试过滤器,但它不起作用。
我的问题不是显示一个或另一个,甚至两个。我的问题是最终用户能够选择要查看的系列。我会像过滤器一样工作,他会选择在图表中看到一个系列,另一个或两者。
在我的示例中,我想选择图表是否只显示&#34;费用&#34;,只是&#34;收入&#34;或两者兼而有之。
答案 0 :(得分:1)
您可以在dataViewDefinition
上使用dataTable
。
显示费用...
.setDataViewDefinition({'columns': [0, 1]})
收入......
.setDataViewDefinition({'columns': [0, 2]})