使用以下脚本:
function chartCreation() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Sheet1");
var chart = sheet.newChart().asColumnChart()
.setTitle('Test Chart')
.addRange(sheet.getRange(1, 1, sheet.getLastRow(), 4))
.setPosition(1,1,0,0)
sheet.insertChart(chart.build());
}
生成如下图表,其中图例为空(即数据系列未标记)。
我读过它可能是由于我的标题行的格式,应该是文本(我的是,但似乎没有使用)。如果我尝试在Google表格中构建它,虽然图表构建器对话框,它可以正常工作并包含数据系列标签。
如何在Google Apps脚本中设置“将第1行用作标题”选项?
This question类似,但没有与非文字格式相关的答案。
答案 0 :(得分:4)
注意:此帖子基于此SO Post,甚至适用于柱形图。尽管柱形图configuration options不记录它。
可以使用labelInLegend
配置选项中的series
设置图例值here。(导航到选项系列)
您的代码将如下所示:
function chartCreation() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Sheet1");
var headerRow = sheet.getRange(1,1,1,4).getValues()
var chart = sheet.newChart().asColumnChart()
.setTitle('Test Chart')
.addRange(sheet.getRange(1, 1, sheet.getLastRow(), 4))
.setPosition(1,1,0,0)
.setOption('series',
{0:{labelInLegend:headerRow[0][1]},
1:{labelInLegend:headerRow[0][2]},
2:{labelInLegend:headerRow[0][3]}})
sheet.insertChart(chart.build());
}