GAS - 使用 A 列作为 X 和 B 列作为 Y 绘制折线图

GAS - draw line chart using column A as X and column B as Y

在google电子表格中,我想用脚本绘制一个折线图,A列为X,B列为Y。

但是下面的代码会绘制 2 条线。我怎样才能修改它画一条线就像 B = f(A).

function myDemoLineChart() {
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var sheet = ss.getSheets()[0];

  var range = sheet.getRange("A1:B4")
   Logger.log(range)

   var lineChart = sheet.newChart()
  .setPosition(6, 1, 0, 0)
  .setChartType(Charts.ChartType.LINE)
  .setOption("title", "Demo")
  .setOption("hAxis.title","X")
  .setOption("vAxis.title", "Y")
  .setOption("curveType","function")
  .setOption("pointSize",10)
  .setOption("width",800)
  .setOption("height",800)
  .addRange(range)
  .build()
  sheet.insertChart(lineChart)
}

输入数据如下:

A   B
3   5
1   7
4   2
2   9

输出:

这个修改怎么样?

  1. 按列排序 "A"。
  2. 添加 setOption('useFirstColumnAsDomain', true) 作为选项。

修改后的脚本:

function myDemoLineChart() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var range = sheet.getRange("A1:B4")
  Logger.log(range)

  range.sort(1); // Added

  var lineChart = sheet.newChart()
  .setOption('useFirstColumnAsDomain', true) // Added
  .setPosition(6, 1, 0, 0)
  .setChartType(Charts.ChartType.LINE)
  .setOption("title", "Demo")
  .setOption("hAxis.title","X")
  .setOption("vAxes", {0: {title: "Y"}}) // Modified
  .setOption("curveType","function")
  .setOption("pointSize",10)
  .setOption("width",800)
  .setOption("height",800)
  .addRange(range)
  .build()
  sheet.insertChart(lineChart)
}

结果:

参考文献:

如果这不是您想要的结果,我深表歉意。