gpt4 book ai didi

javascript - Google 脚本 - 使用第 x 行作为标题

转载 作者:行者123 更新时间:2023-12-03 02:20:39 26 4
gpt4 key购买 nike

我有一个可以在谷歌表格中制作折线图和散点图的系统。截至 2018 年 3 月 7 日,图表开始将我的数据的 1 行包含为图表的一部分,而不是列标题。

如果我手动制作图表,那么它将使我的行成为图表的标题之一。另外,如果我编辑当前图表并勾选“使用行 x 作为标题”,那么我的标题将恢复到原来的状态。

我的问题是是否有一种方法可以在谷歌脚本中对此进行编程或可以使用的解决方法。

我尝试过的一些事情是遵循本指南: Google Apps Script Chart Use row 1 as headers

但正如其他人评论的那样,它不再起作用,并且在我的测试中它也不起作用。

谢谢!

编辑:这就是我构建图表的方式:

var currChart = currSheet.newChart();
currChart.setPosition (row, col, 5,5)
var builtChart = currChart.asScatterChart()
.addRange(currRange)
.setTitle(title)
.setYAxisTitle(axisLabel)
.setOption('useFirstColumnAsDomain','true')
.setOption('hAxis.viewWindow.min', min)
.setOption('hAxis.viewWindow.max', max)
.setOption('chartArea.left', 80)
.setOption('chartArea.top', 60)
.setOption('chartArea.width', 360)
.setOption('chartArea.height', 240)
.setOption('chartArea.backgroundColor',
{ stroke: "#828282", strokeWidth: 2, fill: "#fcfcfc" })
.setOption('series',
{0:{color: '#54B4C6', pointSize: 3, pointShape: 'circle'},
1:{color: '#2F53D9', pointSize: 10, pointShape: 'diamond'},
2:{color: '#F1BE00', pointSize: 4, pointShape: 'circle'},
3:{color: '#D90D0C', pointSize: 11, pointShape: 'diamond'}})
.build();

currSheet.insertChart(builtChart);

最佳答案

您可以使用 series 配置选项中的 labelInLegend 设置图例值,如前所述 here .(导航至选项系列)

因此,在上面的代码中,假设您已经提取了数组中的第一行,如下所示:

 var values = currRange.getValues()
var headerRow = []
for (var i =0; i<values[0].length ; i++)
headerRow[i] = values[0][i]

您可以使用 setOptions 设置系列的值,如下所示:

.setOption('series', 
{0:{color: '#54B4C6', pointSize: 3, pointShape: 'circle',labelInLegend:headerRow[1]},
1:{color: '#2F53D9', pointSize: 10, pointShape: 'diamond',labelInLegend:headerRow[2]},
2:{color: '#F1BE00', pointSize: 4, pointShape: 'circle',labelInLegend:headerRow[3]},
3:{color: '#D90D0C', pointSize: 11, pointShape: 'diamond',labelInLegend:headerRow[4]}})

简而言之,只需在系列对象中包含以下 key:valuelableInLegend:'Header Value' 即可。
注意:跳过标题的第一个值,因为它与垂直轴有关。
您的最终代码将如下所示:

var values = currRange.getValues()
var headerRow = []
for (var i =0; i<values[0].length ; i++)
headerRow[i] = values[0][i]
var currChart = currSheet.newChart();
currChart.setPosition (row, col, 5,5)
var builtChart = currChart.asScatterChart()
.addRange(currRange)
.setTitle(title)
.setYAxisTitle(axisLabel)
.setOption('useFirstColumnAsDomain','true')
.setOption('hAxis.viewWindow.min', min)
.setOption('hAxis.viewWindow.max', max)
.setOption('chartArea.left', 80)
.setOption('chartArea.top', 60)
.setOption('chartArea.width', 360)
.setOption('chartArea.height', 240)
.setOption('chartArea.backgroundColor',
{ stroke: "#828282", strokeWidth: 2, fill: "#fcfcfc" })
.setOption('series',
{0:{color: '#54B4C6', pointSize: 3, pointShape: 'circle',labelInLegend:headerRow[1]},
1:{color: '#2F53D9', pointSize: 10, pointShape: 'diamond',labelInLegend:headerRow[2]},
2:{color: '#F1BE00', pointSize: 4, pointShape: 'circle',labelInLegend:headerRow[3]},
3:{color: '#D90D0C', pointSize: 11, pointShape: 'diamond',labelInLegend:headerRow[4]}})
.build();
currSheet.insertChart(builtChart);

关于javascript - Google 脚本 - 使用第 x 行作为标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49176895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com