GAS - нарисуйте линейный график, используя столбец A в качестве X и столбец B в качестве Y - PullRequest
1 голос
/ 17 апреля 2019

В электронной таблице 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

Выход: enter image description here

1 Ответ

2 голосов
/ 18 апреля 2019

Как насчет этой модификации?

  1. Сортировать по столбцу «А».
  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)
}

Результат:

enter image description here

Ссылки:

Если это не тот результат, который вы хотите, я прошу прощения.

...