在App Script中实现堆叠柱形图并将A列设为表头
Google Sheets脚本设置A列为图表表头的解决方案
问题说明
要生成目标图表,已通过脚本完成行列切换,但找不到对应“使用A列作为表头”复选框的命令,当前脚本生成的图表缺少表头,只差这一步即可达成目标效果。
当前使用的脚本:
function myFunction() { const sheetTest = SpreadsheetApp.getActive().getSheetByName("test"); const numRows = sheetTest.getLastRow(); // e.g. 9 const numCols = sheetTest.getLastColumn(); // e.g. 3 const chartRange = sheetTest.getRange(1, 1, numRows, numCols); const chart = sheetTest.newChart() .asColumnChart() .addRange(chartRange) .setStacked() .setPosition(1, 4, 0, 0) .setTransposeRowsAndColumns(true) .build(); sheetTest.insertChart(chart); }
解决方法
在图表构建链中添加setOption('useFirstColumnAsDomain', true)即可实现“使用A列作为表头”的效果,修改后的脚本如下:
function myFunction() { const sheetTest = SpreadsheetApp.getActive().getSheetByName("test"); const numRows = sheetTest.getLastRow(); // e.g. 9 const numCols = sheetTest.getLastColumn(); // e.g. 3 const chartRange = sheetTest.getRange(1, 1, numRows, numCols); const chart = sheetTest.newChart() .asColumnChart() .addRange(chartRange) .setStacked() .setPosition(1, 4, 0, 0) .setTransposeRowsAndColumns(true) .setOption('useFirstColumnAsDomain', true) // 开启第一列作为表头 .build(); sheetTest.insertChart(chart); }
参数说明
useFirstColumnAsDomain是Google Sheets图表API的配置选项,设置为true后,会将数据范围的第一列(即A列)作为图表的类别轴(表头),和手动勾选“使用A列作为表头”复选框的效果完全一致。
内容的提问来源于stack exchange,提问作者benchenggis
相关产品推荐
相关产品推荐

