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