【问题标题】:Can't change line to bars - chart - Google script无法将线更改为条形 - 图表 - Google 脚本
【发布时间】:2021-10-09 14:02:19
【问题描述】:

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

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,我尝试有两个系列的条形图和一条线,但我做不到:无论我写什么,它总是创建一个带有 serie 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);

它不起作用。

谢谢

【问题讨论】:

  • 这可能与来自 issuetracker.google.com/issues/183272766 的报告的未解决问题有关(组合图表系列类型不起作用),其中用户尝试将系列 0 从条形设置到线条,但使用时无法使用应用程序脚本。我尝试在tanaikech.github.io/2017/05/16/… 使用此参考中的指南进行复制,但将其应用于您的范围时似乎也不起作用。

标签: google-apps-script charts google-visualization


【解决方案1】:

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

示例代码和输出:

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 上报告此问题,以便他们查看,或关注此问题:https://issuetracker.google.com/issues/183272766

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多