我使用了宏来创建基本脚本,以在Google表格中生成饼图。饼图和所有特征似乎都可以正常工作,除了系列的颜色(切片)。当我打开脚本并输入新的颜色时,尽管宽度,高度,图例位置等其他项目都可以正常工作,但它仍默认为红色和蓝色。我认为它是一个基本的语法问题,或者可能是链接问题,或者是序列问题……?我是编码的新手,只能使用它来扩展基于Web的电子表格的业务功能。预先感谢您提供的任何帮助!
基本上,我尝试过将颜色更改为各种不同的选项,并且颜色始终保持蓝色和红色。当我修改高度和宽度时,脚本可以正确运行。
function addPieChart() {
var ss = SpreadsheetApp.getActive();
var sheet1 = ss.getSheetByName('d2cStaging');
var dashboard = ss.getSheetByName('Dashboard');
var totalChartLabels = sheet1.getRange("R5:R7");
var totalChartValues = sheet1.getRange("T5:T7");
var totalsChart = sheet1.newChart()
.setChartType(Charts.ChartType.PIE)
.addRange(totalChartLabels)
.addRange(totalChartValues)
.setMergeStrategy(Charts.ChartMergeStrategy.MERGE_COLUMNS)
.setPosition(6,7,0,0)
.setOption('series.0.color', 'GREEN')
.setOption('series.1.color', 'YELLOW')
.setOption('legend.position', 'bottom')
.setOption('pieSliceText', 'value-and-percentage')
.setOption('width', 300)
.setOption('height', 300)
.setNumHeaders(1)
.build();
dashboard.insertChart(totalsChart);
}
我希望能够将series.0.color更改为“ PURPLE”,将series.1.color更改为“ ORANGE”,并且当我重新运行脚本时,这些结果将反映在显示的图表中。
答案 0 :(得分:1)
ross 的 answer 在某个时候停止为我工作。
这现在有效:
charts.forEach((chart) => {
chart = chart.modify()
.asPieChart()
.setColors(headerColors)
.build();
sheet.updateChart(chart);
});
主要部分是 .asPieChart().setColors(colors)
作为 .setOption('colors', colors)
答案 1 :(得分:0)
设置使用脚本构建的图表的系列颜色。
使用EmbeddedChartBuilder .setOption()
选项“颜色”。
.setOption('colors', ['red','blue','#ff0000'])
您可以使用它来使用字符串值或十六进制设置颜色,放置它们的顺序将是其在系列中使用的顺序,因此系列0将是{{1 }}。
您可以查看Class EmbeddedChartBuilder here可用的所有选项的文档。