以编程方式设置Google电子表格图表中的最小值

时间:2017-07-05 18:01:03

标签: google-apps-script

我正在尝试在我的Google电子表格中以编程方式创建的图表中设置固定的最小值。我的目标是创建几个具有相同限制的图形,即使它们的数据非常不同。

出于本示例的目的,我的电子表格中包含以下数据:

Date    Number
05.02.2017  125
06.02.2017  150
16.02.2017  21
05.02.2018  -5.333333333
06.02.2018  -57.33333333
16.02.2018  -109.3333333
05.02.2019  -161.3333333

以及以下脚本:

function update() {
  var title = 'Last updated ' + new Date().toString();

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

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.AREA)
     .addRange(sheet.getRange("A1:B8"))
     .setPosition(5, 5, 0, 0)
     .setOption('title', title)
     .setOption('vAxis.minValue', -5000)
     .setOption('vAxis.viewWindow.min', -5000)
     .build();

  sheet.insertChart(chart);
}

...换句话说,我试图将最小值设置为-5000。设置vAxis.minValue和/或vAxis.viewWindow.min完全没有任何结果。 (是的,我知道每次调用update()时我的代码都会创建一个新代码,但这不是重点。)

编辑图表时,有一个最小/最大值选项。这些值为空白: enter image description here

如何以编程方式更改这些值?

此处的表单的完整链接:https://docs.google.com/spreadsheets/d/1dKBG8Nx5mypD2YAfOTCzo2cvIX6C7R18SCIsNB5FsT0/edit?usp=sharing

1 个答案:

答案 0 :(得分:6)

要将vAxis的最小值设置为-5000,请将选项配置为setOption("vAxes", {0: { viewWindow: { min: -5000} }})

   function update() {
      var title = 'Last updated ' + new Date().toString();

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

      var chart = sheet.newChart()
         .setChartType(Charts.ChartType.AREA)
         .addRange(sheet.getRange("A1:B8"))
         .setPosition(5, 5, 0, 0)
         .setOption('title', title)
         .setOption("vAxes", {0: { viewWindow: { min: -5000} }})
         .build();

      sheet.insertChart(chart);
    }