【问题标题】:Google sheets script - chart legend text labelsGoogle 表格脚本 - 图表图例文本标签
【发布时间】:2021-04-10 14:49:12
【问题描述】:

如何通过谷歌表格中的脚本为图表中的图例设置文本标签?我环顾四周,发现的只是这些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-script google-sheets charts


    【解决方案1】:

    我相信你的目标如下。

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

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

    修改脚本:

    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行作为标题”。

    参考:

    【讨论】:

    • 太棒了!这完美!我稍微改变了问题,我建议您删除setOption 以获得更简约的问答。
    • @dekuShrub 感谢您的回复。我很高兴你的问题得到了解决。我理解你的提议,我同意你的看法。从您更新的问题中,我更新了我的答案。感谢您的支持。
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    相关资源
    最近更新 更多