首页 > 解决方案 > Google 表格脚本 - 图表图例文本标签

问题描述

如何通过谷歌表格中的脚本为图表中的图例设置文本标签?我环顾四周,发现的只是这些setOption属性serieslegend但它们似乎只在图表编辑器(GUI)中设置了相应的设置。我知道更改图例文本的唯一方法是在图表中双击它。

这是我试图插入的图表

var chart = sheet1.newChart()
    .setChartType(Charts.ChartType.LINE)
    .addRange(sheet2.getRange('A1:D12'))
    .setPosition(5, 5, 0, 0)
    .build();

  sheet1.insertChart(chart);

这些是我尝试过不同设置但没有运气的选项:

    .setOption('series', 
      {
        position: 'right',
        textStyle: {color: 'orange', fontSize: 16}
      })
    .setOption('series', 
      {
        0: {dataLabel: 'value'},
        1: {dataLabel: 'value'},
        2: {datalabel: 'value'}
      })
    .setOption('legend', 
      {
        position: 'top', 
        textStyle: {color: 'blue', fontSize: 16}
      })

标签: google-apps-scriptgoogle-sheetscharts

解决方案


我相信你的目标如下。

  • 当您使用 Google Apps 脚本创建图表时,您希望将范围的第一行设置为标题行。

在这种情况下,如何setNumHeaders在类 EmbeddedTableChartBuilder 中使用?当你的脚本被修改时,它变成如下。

修改后的脚本:

var sheet1 = SpreadsheetApp.getActiveSheet();
var chart = sheet1.newChart()
  .setChartType(Charts.ChartType.LINE)
  .addRange(sheet2.getRange('A1:D12'))
  .setPosition(5, 5, 0, 0)
  .setNumHeaders(1) // <--- Added
  .build();

sheet1.insertChart(chart);
  • 通过添加setNumHeaders(1)上述修改,“使用第 1 行作为标题”被选中。

参考:


推荐阅读