Google Apps脚本宏格式化Y轴最小/最大值时出错



我是Apps Script的新手,如果这是一个愚蠢的问题,我很抱歉,但我一直找不到答案。我正在使用谷歌表来绘制PSU的温度图。我创建了宏,这些宏可以选择数据区域、插入图表并修改图表中除Y轴最小-最大值之外的任何内容的格式,具有讽刺意味的是,这是我唯一感兴趣的更改内容。

下面是宏,它做一件事,将"最小-最大"值更改为40/90。对于第一个条目,它输入NaN而不是值。我试着改变这个,但没有帮助。

我读过一些关于更改数据格式的文章,但我真的不知道该怎么做。我在创建宏时尝试过通过GUI来实现这一点,但没有帮助。

非常感谢您提供的任何指导。

function FormatYAxis() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('B:B').activate();
var sheet = spreadsheet.getActiveSheet();
var charts = sheet.getCharts();
var chart = charts[charts.length - 1];
sheet.removeChart(chart);
chart = sheet.newChart()
.asLineChart()
.addRange(spreadsheet.getRange('B1:B552'))
.setMergeStrategy(Charts.ChartMergeStrategy.MERGE_COLUMNS)
.setTransposeRowsAndColumns(false)
.setNumHeaders(1)
.setHiddenDimensionStrategy(Charts.ChartHiddenDimensionStrategy.IGNORE_BOTH)
.setOption('useFirstColumnAsDomain', false)
.setOption('curveType', 'none')
.setOption('domainAxis.direction', 1)
.setOption('isStacked', 'false')
.setOption('title', 'GPU Temp')
.setRange(40, NaN)
.setOption('vAxes.0.viewWindowMode', 'explicit')
.setOption('series.0.labelInLegend', 'GPU Temp')
.setPosition(3, 4, 58, 1)
.build();
sheet.insertChart(chart);
charts = sheet.getCharts();
chart = charts[charts.length - 1];
sheet.removeChart(chart);
chart = sheet.newChart()
.asLineChart()
.addRange(spreadsheet.getRange('B1:B552'))
.setMergeStrategy(Charts.ChartMergeStrategy.MERGE_COLUMNS)
.setTransposeRowsAndColumns(false)
.setNumHeaders(1)
.setHiddenDimensionStrategy(Charts.ChartHiddenDimensionStrategy.IGNORE_BOTH)
.setOption('useFirstColumnAsDomain', false)
.setOption('curveType', 'none')
.setOption('domainAxis.direction', 1)
.setOption('isStacked', 'false')
.setOption('title', 'GPU Temp')
.setRange(40, 90)
.setOption('vAxes.0.viewWindowMode', 'explicit')
.setOption('series.0.labelInLegend', 'GPU Temp')
.setPosition(3, 4, 58, 1)
.build();
sheet.insertChart(chart);
};

以下选项将设置y轴上的最小值和最大值
但是,绘制在y轴上的值必须是数字,而不是字符串。。。

.setOption('vAxis.viewWindow.min', 40)
.setOption('vAxis.viewWindow.max', 90)

最新更新