我正在尝试使用Apps脚本在Google表格中制作时间序列图。似乎我需要的对象是类EmbeddedChartBuilder
。在查看documentation中的示例之后,这是我写的:
function getChart(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var chart = sheet.newChart()
.setChartType(Charts.ChartType.LINE)
.addRange(sheet.getRange("D2:D65"))
.addRange(sheet.getRange("A2:A65"))
.addRange(sheet.getRange("B2:B65"))
.setPosition(5, 5, 0, 0)
.build();
sheet.insertChart(chart);
}
默认情况下,图表显示仅水平网格线(即垂直轴网格线):
但我想也有垂直网格线。事实证明EmbeddedChartBuilder
有一个setOptions
方法,记录在案here。这就是我感到困惑的地方:看Google Visualization API Reference documentation,看起来LineChart的configuration options包含hAxis.gridlines
。所以我相应地改变了我的代码:
function getChart(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var chart = sheet.newChart()
.setChartType(Charts.ChartType.LINE)
.addRange(sheet.getRange("D2:D65"))
.addRange(sheet.getRange("A2:A65"))
.addRange(sheet.getRange("B2:B65"))
.setPosition(5, 5, 0, 0)
.setOption('hAxis.gridlines.count', -1)
.setOption('hAxis.gridlines.color','#000000')
.build();
sheet.insertChart(chart);
}
但图表根本没有变化,仍然没有垂直网格线的迹象。我究竟做错了什么?
先谢谢你的帮助!!