我目前有一个脚本,用于获取数据,对其进行格式化并在数据下方创建图表。

我知道如何使用setPosition在选项卡内移动图表,但无法弄清楚如何将图表写入其他选项卡(创建“仪表盘”,而无需查看所有源数据)。 有什么想法吗?

我尝试更改.setPosition ,但这只会在现有选项卡内移动图表。

在某些情况下,我还遇到了一些小问题,在某些情况下,我已将图表移到数据的右侧,但是在不同的工作表中使用相同的代码根本无法编写图表。

这是我正在使用的代码:

var chartTitle = columnHeader;
  if (typeof subtitle[columnHeader] != 'undefined') {
    chartTitle = chartTitle + " - " + subtitle[columnHeader];
  }

  var chartBuilder = sheet.newChart()
  .setChartType(Charts.ChartType.LINE)

  .setOption('chartArea', {left:'10%',top:'15%',width:'80%',height:'70%'})
  .setPosition(4 + output.length, 1, 0, 0)
  .setOption('width', width)
  .setOption('height', 500)
  .setOption('title', chartTitle)
  .setOption('legend', {position: 'top'});

  var statFormat = {CPC: 'currency', CTR: 'percent', Impressions: 'decimal', Searches: 'decimal'};

  if (statsInChart.length == 0) {
    chartBuilder.setOption('vAxes', {
      // Adds titles to the axis.
      0: {title: columnHeader} });
  } else if (statsInChart.length == 1) {
    chartBuilder.setOption('vAxes', {
      // Adds titles to both axes.
      0: {title: columnHeader} ,
      1: {title: statsInChart[0], format: statFormat[statsInChart[0]]}});
  } else {
    chartBuilder.setOption('vAxes', {
      // Adds title to the first axis, blanks the others.
      0: {title: columnHeader} ,
      1: {format: statFormat[statsInChart[0]], textPosition: 'in'},
      2: {format: statFormat[statsInChart[1]], textPosition: 'out'},
      3: {textStyle: {color: 'white'}}
    });
  }

#1楼 票数:1

当您实际构建图表或将其插入到工作表中时,所提供的代码均不会涵盖。

通过调用sheet.newChart()方法创建EmbeddedChartBuilder ,将具有一个与电子表格中特定工作表相关联的工作sheet对象。

您要执行的操作是使用另一个工作表对象调用insertChart()方法,该对象与您希望图表出现的工作表相关联。

这是一个小例子:

function createChart() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var dataSheet = ss.getSheetByName('data');
  var chartSheet = ss.getSheetByName('chart');

  var dataRange = dataSheet.getDataRange();

  var chart = chartSheet.newChart()
      .addRange(dataRange)
      .setPosition(1, 1, 0, 0)
      .build();

  chartSheet.insertChart(chart);
}

在我的测试电子表格中,我有两张纸。 一个名为data ,它包含一个小数据表。 另一个是名为chart的空白纸。

当我执行上述功能时,会根据从data表中提取的datachart表中放置一个图表。

  ask by Jaimee translate from so

未解决问题?本站智能推荐:

1回复

Google Sheets - 宏不会将图表的格式复制到另一个工作表

我在 Google 表格上, 我正在尝试使用宏将图表从 Sheet1 复制到 Sheet2。 当我运行它时,图表中的值确实从 Sheet1 复制到 Sheet2 但不是格式,它似乎将默认的 Google Sheets 格式设置到由宏创建的图表中。 我想知道如何从 Sheet1 到 Sheet2
1回复

如何使用脚本在谷歌表中获取“双甜甜圈”图表

Libre Office 有一种非常适用的双环图表“甜甜圈”类型。 我想在我的谷歌表中得到一些类似的图表 任何想法如何让它变得更好?
2回复

使用Javascript中的Oauth授权将Google表格API v3迁移到v4之后如何实现makeApiCall()方法

Google已经构建了Google表格API的第4版,但其文档仍然是v3。 没有关于如何使用Google表格API v4实施简单OAuth身份验证的完整示例。 我看到一个迁移指南在这里 ,我也看到了部分示例这里可是一个完整的例子是无处可寻。 “当前”版本在这里 ,最后一次更新于2018
1回复

Google表格注释的时间轴显示的是确切值吗?

我无能为力。 我对如何在y轴和图表顶部显示精确值进行了一些研究,发现了以下内容: 显示精确值? 确定是否在图表顶部显示数值的缩短的舍入版本,以节省空间; false表示可以。 单击右侧的下拉菜单以查看并选择一个值。 例如,如果设置为false,> 56123.45
1回复

我可以在Google表格中重新定位无模式对话框吗?

使用Google Apps脚本,如何定位无模式对话框? 这是我的Code.gs函数,用于打开无模式对话框并将现有的html文件呈现到其中: 所有这些工作正常,但无模式对话框在浏览器的中心打开。 有什么办法可以在创建时定位它? 我真正想要的是在电子表格中呈现html文件-这是
1回复

将Google工作表图表保存到Google Drive

我有一个使用功能更新(范围)的表格表。 我想将图表另存为png以进行驱动,但是在chart.getBlob()上由于服务错误而失败:...图表范围正在更改..我不知道为什么我无法获取Blob。
1回复

如何使用应用程序脚本根据单元格值修改谷歌表格图表颜色

我想创建一个动态图表,根据单元格值更改颜色。 我在这个答案中使用了这个例子,但它只使用了我在图例中声明的第一种颜色,如下图所示: 但这里正是想要做的: 就像单元格背景如何变化一样,因为我使用条件格式为其设置了规则。 编辑:更改单元格范围以匹配示例
1回复

Web 应用程序上的 Google 可视化时间轴图表

我想根据谷歌表格中的值制作一个时间线图表,但我被卡住了....我不知道有什么问题。 代码似乎很好,但它只是我。 我猜 html 端没有按照它应该的方式读取数组,或者根本没有得到它。 在电子表格中,我只有图表所需的数据。 时间线数据 我想以与工作表中相同的顺序传递到图表数据。 开始和结束应该作为完