这个问题在这里已有答案:
我正在尝试使用谷歌应用程序脚本从谷歌电子表格创建具有对数比例的折线图。我不是开发人员所以我使用“记录宏”功能来获得一个起点。
我的数据集看起来像这个https://docs.google.com/spreadsheets/d/1JKcpXtEbQj_4qzf20XWcDwDOoBI8ZlSXZdpzOKY5kt4/edit?usp=sharing
这是录制宏返回的内容:
function CreateChart() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRangeList(['A1:C1', 'A2:C4']).activate();
var sheet = spreadsheet.getActiveSheet();
var chart = sheet.newChart()
.asLineChart()
.addRange(spreadsheet.getRange('A1:C1'))
.addRange(spreadsheet.getRange('A2:C4'))
.setMergeStrategy(Charts.ChartMergeStrategy.MERGE_ROWS)
.setTransposeRowsAndColumns(true)
.setNumHeaders(-1)
.setHiddenDimensionStrategy(Charts.ChartHiddenDimensionStrategy.IGNORE_BOTH)
.setOption('vAxes.0.gridlines.count', 10)
.useLogScale()
.setOption('height', 271)
.setOption('width', 439)
.setPosition(1, 6, 76, 16)
.build();
sheet.insertChart(chart);
};
但是,当我尝试从脚本编辑器运行此脚本时,即使创建了图表,也根本没有遵守.useLogScale()“设置。我也尝试.setOption('vAxes.0.scaleType','log' )和.setOption('vAxes.0.scaleType','mirrorLog')仍然不起作用。
我怎么解决这个问题?谢谢!
似乎是正确的选择
.setOption('vAxes.0.logScale',true)