首页 > 解决方案 > 使用 Google 表格脚本创建散点图?

问题描述

谷歌表和脚本:https ://docs.google.com/spreadsheets/d/1Vq2MYQzbaRoYg31IRkwNOofJYYOH82ElSdN7miExiVQ/edit?usp=sharing

我目前正在尝试使用我已提供但仅使用脚本的数据创建散点图,因此我正在根据 B15 tp W16 中的数据制作此散点图,但此数据通过使用新应用的菜单栏放置在这些单元格中名为“应用脚本”的选项。

因此,如果您单击:

应用脚本 > 激活脚本

这将更改单元格大小、更改字体大小、为单元格 C3 到 W13 中的数据创建条件格式,并且还将为数据创建一个键。

然后如果你点击:

应用脚本 > 选择电源输入 > 选择任何选项

选择要查看的数据行后,它将与单元格 B15 到 W16 一起应用(如果您自己尝试会更有意义)。

这些函数将应用于任何给定的活动数据,我在下面的文档中有 3 张工作表,因此它演示了这一点。

所以现在我已经解释了我的脚本到目前为止是如何工作的,我想知道如何使用单元格 B15 到 W16 的任何给定数据编写散点图脚本。我上面演示的所有内容都是我在过去 3 天观看视频时自学的,但我在任何地方都找不到任何在 google 脚本上创建图表的演示,我还通过 script.google.com 搜索找到编码需要,但我不明白从哪里开始以及如何呈现它。因此,如果有人能指出我正确的方向,那就太好了,谢谢!

https://docs.google.com/spreadsheets/d/1Vq2MYQzbaRoYg31IRkwNOofJYYOH82ElSdN7miExiVQ/edit?usp=sharing

这是我现有的图表脚本:

function lineGraph() {

 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 var row = sheet.getRange( 15, 2, 2, 22).getValues();
  
  sheet.newChart().addRange().asScatterChart().getChartType().SCATTER;

}

标签: google-apps-scriptgoogle-sheetscharts

解决方案


您的脚本肯定是在正确的方向,但您必须通过使用指定在工作表中放置图表的位置setPosition

此外,我为生成的图表添加了一些选项,以便根据您的输入更有意义。

示例代码:

function lineGraph() {

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var row = sheet.getRange("B15:W16");
  var chart = sheet.newChart()
    .asScatterChart()
    .addRange(row)
    .setPosition(18,2,0,0)
    .setTransposeRowsAndColumns(true)
    .build();
  sheet.insertChart(chart);

}

样本输出:

在此处输入图像描述

请注意,这是简单的框架,您可以通过在 chartBuilder 上添加更多方法来指定更多选项。请在此处查看参考:

嵌入式散点图生成器


推荐阅读