无法将线更改为条形图 - 图表 - Google 脚本

Can't change line to bars - chart - Google script

我想用下面的代码创建一个图表:

var sht=SpreadsheetApp.getActiveSheet();

  var chart = sht.newChart()
    .addRange(sht.getRange("B4:B11"))
    .addRange(sht.getRange("C4:C11"))
    .addRange(sht.getRange("D4:D11"))
    .addRange(sht.getRange("E4:E11"))
    .setChartType(Charts.ChartType.COMBO)
    .setPosition(2, 8, 0, 0)
    .setOption('title', 'Test')
    .setOption("series",{
      0:{type:'bars',color:'red'},
      1:{type:'bars',color:'blue'},
      2:{type:'line',color:'green'},
    })
    .build();

  sht.insertChart(chart);

使用 setOptions,我尝试使用两个系列的条形图和一条线,但我做不到:无论我写什么,它总是创建一个图表,其中包含系列 0 类型的条形图、系列 1 和 2 类型的线。

有什么原因吗?

编辑:我也尝试使用已保存宏的代码:

  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  
  chart = sheet.newChart()
  .asComboChart()
  .addRange(spreadsheet.getRange('B5:B11'))
  .addRange(spreadsheet.getRange('C4:C11'))
  .addRange(spreadsheet.getRange('D4:D11'))
  .addRange(spreadsheet.getRange('E4:E11'))
  .setOption('series.1.type', 'ColumnChart')
  .setOption('series.2.type', 'LineChart')
  .setPosition(4, 7, 0, 0)
  .build();

  sheet.insertChart(chart);

没用。

谢谢

我已经复制了这个问题,看起来 type: 属性 和 setOption() 中的错误不适用于组合图表,因此输出始终是默认类型,即条、线、线(每个后续行的线)。

示例代码和输出:

function myFunction() {
  var sht=SpreadsheetApp.getActiveSheet();

  var chart = sht.newChart()
    .setChartType(Charts.ChartType.COLUMN)
    .addRange(sht.getRange("B4:F11"))
    .setPosition(2, 8, 0, 0)
    .setOption('title', 'Test')

    .build();

  sht.insertChart(chart);

  chart = chart.modify()
    .setChartType(Charts.ChartType.COMBO)
    .setOption("series",{
      0:{type:'area',color:'red'},
      1:{type:'line',color:'blue'},
      2:{type:'line',color:'green'},
      3:{type:'bars',color:'yellow'}
    })
    .build();

  sht.updateChart(chart);
}

您可以在 Issue Tracker so they can take a look at it, or follow this issue: https://issuetracker.google.com/issues/183272766

上举报