我有以下代码,可以让我创建一个条形图
var chart = Charts.newBarChart()
.setDataTable(dataTable)
.setTitle("Rain per month");
sheet.insertChart(chart.build());
不幸的是,我收到错误消息“找不到方法insertChart(图表)”。
似乎sheet.insertChart函数必须采用embeddedChart。
如何将我的图表转换为嵌入式图表,以便insertChart函数接受它?
此致 Crouz
答案 0 :(得分:3)
您使用的方法是将图表添加到UiApp。 要将图表添加到Google工作表,您可以使用以下语法:
var chart = sheet.newChart()
.setChartType(Charts.ChartType.BAR)
.addRange(sheet.getRange("A1:B4"))
.setPosition(5, 5, 0, 0)
.setOption("title", "Dynamic Chart")
.build();
sheet.insertChart(chart);
此代码取自Google App脚本文档中的here。
此外,DataTable类用于在向html or the UiApp添加图表时创建图表。如果您想将图表添加到电子表格,就像用户点击了插入>图表,您必须使用getRange
来绘制数据。如果您从多个来源绘制数据,我建议您使用sheet.getRange().setValue()
将数据合并到电子表格中的某个位置。
如果您想从单独的Google电子表格中提取数据,那么您可以执行以下操作:
//SpreadsheetApp.openByUrl.openById(inset appropriate id here) would work as well
var externalSheets = SpreadsheetApp.openByUrl(insert appropriate url here).getSheets();
var chart = sheet.newChart()
.setChartType(Charts.ChartType.BAR)
.addRange(sheets[insert appropriate sheet index here].getRange("A1:B4"))
.setPosition(5, 5, 0, 0)
.setOption("title", "Dynamic Chart")
.build();
sheet.insertChart(chart);