javascript - 如何使用应用脚本根据单元格值修改谷歌表格图表颜色

标签 javascript google-apps-script google-sheets charts google-visualization

我想创建一个根据单元格值更改颜色的动态图表。我在此 answer 中使用了示例但它只使用我在图例中声明的第一种颜色,如下图所示:

enter image description here

function modifyChart(sheet, newCssColor) {
  // Assume there is only one chart on this sheet.
  var sheet = SpreadsheetApp.getActive().getActiveSheet();
  const charts = sheet.getCharts();
  var array = [];

  var colorValues = sheet.getRange("G4:G6").getValues();
  for(var i = 0; i < colorValues.length; i++){
    array.push(colorValues[i][0]);
  }

Logger.log(colorValues);
  const barBuilder = charts[0].modify().asColumnChart().setColors(array);
  sheet.updateChart(barBuilder.build());
}

但这里正是想要做的:

If score <= 49 set bar color to red
Else if score >= 50 and score <= 89 set bar color to orange
else set bar color to green

就像单元格背景如何变化一样,因为我使用条件格式为其设置了规则。

编辑:更改单元格范围以匹配样本

最佳答案

您的每个类别都是嵌入图表中的一个系列。 您想要单独设置每个系列的样式选项。 使用 setOption()并为每个系列设置颜色选项。

例如:

EmbeddedChartBuilder.setOption('series.0.color', 'red').setOption('series.1.color', 'orange').setOption('series.2.color', 'green ').build()

关于javascript - 如何使用应用脚本根据单元格值修改谷歌表格图表颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63917123/

相关文章:

google-sheets - Google Sheets 漂亮的公式格式

javascript - 将 JSON/JS 对象转换为数组

javascript - 从 Google 应用脚本中的下拉列表值运行函数

google-apps-script - 用户撰写邮件时的 Gmail 插件操作

javascript - Array.push.setAnyFormatting ('red')?

javascript - Google 脚本 - 发送电子邮件到特定列的最后一行

google-apps-script - 如何通过 Google Apps 脚本将用户数据存储在 Google 电子表格插件中

javascript - Magento,如何在注册中添加条款协议(protocol)?

javascript - 在数组中查找相同数字的最长出现次数

javascript - 查找不是函数错误