Class EmbeddedChartBuilder

EmbeddedChartBuilder

Builder usado para editar um EmbeddedChart. As alterações feitas no gráfico não são salvas até Sheet.updateChart(chart) é chamado no gráfico recriado.

var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1:B8");
var chart = sheet.getCharts()[0];
chart = chart.modify()
    .addRange(range)
    .setOption('title', 'Updated!')
    .setOption('animation.duration', 500)
    .setPosition(2,2,0,0)
    .build();
sheet.updateChart(chart);

Métodos

MétodoTipo de retornoBreve descrição
addRange(range)EmbeddedChartBuilderAdiciona um intervalo ao gráfico que este construtor modifica.
asAreaChart()EmbeddedAreaChartBuilderDefine o tipo de gráfico como Gráfico de Área e retorna um EmbeddedAreaChartBuilder.
asBarChart()EmbeddedBarChartBuilderDefine o tipo de gráfico como BarChart e retorna um EmbeddedBarChartBuilder.
asColumnChart()EmbeddedColumnChartBuilderDefine o tipo de gráfico como ColumnChart e retorna um EmbeddedColumnChartBuilder.
asComboChart()EmbeddedComboChartBuilderDefine o tipo de gráfico como ComboChart e retorna um EmbeddedComboChartBuilder.
asHistogramChart()EmbeddedHistogramChartBuilderDefine o tipo de gráfico como HistogramChart e retorna um EmbeddedHistogramChartBuilder.
asLineChart()EmbeddedLineChartBuilderDefine o tipo de gráfico como LineChart e retorna um EmbeddedLineChartBuilder.
asPieChart()EmbeddedPieChartBuilderDefine o tipo de gráfico como PieChart e retorna um EmbeddedPieChartBuilder.
asScatterChart()EmbeddedScatterChartBuilderDefine o tipo de gráfico como ScatterChart e retorna um EmbeddedScatterChartBuilder.
asTableChart()EmbeddedTableChartBuilderDefine o tipo de gráfico como TableChart e retorna um EmbeddedTableChartBuilder.
build()EmbeddedChartCria o gráfico para refletir todas as alterações feitas nele.
clearRanges()EmbeddedChartBuilderRemove todos os intervalos do gráfico que este criador modifica.
getChartType()ChartTypeRetorna o tipo de gráfico atual.
getContainer()ContainerInfoRetorne o gráfico ContainerInfo, que encapsula onde ele aparece na folha
getRanges()Range[]Retorna uma cópia da lista de intervalos que atualmente fornecem dados para este gráfico.
removeRange(range)EmbeddedChartBuilderRemove o intervalo especificado do gráfico que este construtor modifica.
setChartType(type)EmbeddedChartBuilderMuda o tipo de gráfico.
setHiddenDimensionStrategy(strategy)EmbeddedChartBuilderDefine a estratégia a ser usada para linhas e colunas ocultas.
setMergeStrategy(mergeStrategy)EmbeddedChartBuilderDefine a estratégia de mesclagem a ser usada quando existir mais de um intervalo.
setNumHeaders(headers)EmbeddedChartBuilderDefine o número de linhas ou colunas do intervalo que devem ser tratadas como cabeçalhos.
setOption(option, value)EmbeddedChartBuilderDefine opções avançadas para este gráfico.
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)EmbeddedChartBuilderDefine a posição, alterando o local em que o gráfico aparece na página.
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilderDefine se as linhas e colunas do gráfico são transpostas.

Documentação detalhada

addRange(range)

Adiciona um intervalo ao gráfico que este construtor modifica. Não adiciona o intervalo se já tiver sido adicionados ao gráfico.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var chart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(sheet.getRange("A1:B8"))
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

Parâmetros

NomeTipoDescrição
rangeRangeO intervalo a ser adicionado.

Retornar

EmbeddedChartBuilder: este builder para encadeamento


asAreaChart()

Define o tipo de gráfico como Gráfico de Área e retorna um EmbeddedAreaChartBuilder.

Retornar

EmbeddedAreaChartBuilder: um builder para um gráfico de área.


asBarChart()

Define o tipo de gráfico como BarChart e retorna um EmbeddedBarChartBuilder.

Retornar

EmbeddedBarChartBuilder: um builder para um gráfico de barras.


asColumnChart()

Define o tipo de gráfico como ColumnChart e retorna um EmbeddedColumnChartBuilder.

Retornar

EmbeddedColumnChartBuilder: um builder para um gráfico de colunas.


asComboChart()

Define o tipo de gráfico como ComboChart e retorna um EmbeddedComboChartBuilder.

Retornar

EmbeddedComboChartBuilder: um builder para um gráfico de combinação.


asHistogramChart()

Define o tipo de gráfico como HistogramChart e retorna um EmbeddedHistogramChartBuilder.

Retornar

EmbeddedHistogramChartBuilder: um builder para um gráfico de histograma.


asLineChart()

Define o tipo de gráfico como LineChart e retorna um EmbeddedLineChartBuilder.

Retornar

EmbeddedLineChartBuilder: um builder para um gráfico de linhas.


asPieChart()

Define o tipo de gráfico como PieChart e retorna um EmbeddedPieChartBuilder.

Retornar

EmbeddedPieChartBuilder: um builder para um gráfico de pizza.


asScatterChart()

Define o tipo de gráfico como ScatterChart e retorna um EmbeddedScatterChartBuilder.

Retornar

EmbeddedScatterChartBuilder: um builder para um gráfico de dispersão.


asTableChart()

Define o tipo de gráfico como TableChart e retorna um EmbeddedTableChartBuilder.

Retornar

EmbeddedTableChartBuilder: um builder para um gráfico de tabela.


build()

Cria o gráfico para refletir todas as alterações feitas nele.

Esse método não desenha automaticamente o gráfico na parte superior da planilha. Um novo gráfico precisa ser inserido por meio de sheet.insertChart(chart) e atualizar um gráfico existente via sheet.updateChart(chart).

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:B5");
var chart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(range)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

Retornar

EmbeddedChart: o gráfico criado, que ainda precisa ser adicionado à planilha.


clearRanges()

Remove todos os intervalos do gráfico que este criador modifica.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// This code updates the chart to use only the new ranges while preserving the existing
// formatting of the chart.
var chart = sheet.getCharts()[0];
var newChart = chart
    .modify()
    .clearRanges()
    .addRange(sheet.getRange("A1:A5"))
    .addRange(sheet.getRange("B1:B5"))
    .build();
sheet.updateChart(newChart);

Retornar

EmbeddedChartBuilder: este builder para encadeamento


getChartType()

Retorna o tipo de gráfico atual.

Retornar

ChartType: o tipo de gráfico.


getContainer()

Retorne o gráfico ContainerInfo, que encapsula onde ele aparece na folha

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var chartBuilder = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(sheet.getRange("A1:B8"))
    .setPosition(5, 5, 0, 0);

// This method returns the exact same data as Chart#getContainerInfo()
var containerInfo = chartBuilder.getContainer();

// Logs the values we used in setPosition()
Logger.log("Anchor Column: %s\r\nAnchor Row %s\r\nOffset X %s\r\nOffset Y %s",
          containerInfo.getAnchorColumn(),
          containerInfo.getAnchorRow(),
          containerInfo.getOffsetX(),
          containerInfo.getOffsetY());

Retornar

ContainerInfo: um objeto que contém a posição do contêiner do gráfico.


getRanges()

Retorna uma cópia da lista de intervalos que atualmente fornecem dados para este gráfico. Use addRange(range) e removeRange(range) para modificar essa lista.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var chartBuilder = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(sheet.getRange("A1:B8"))
    .setPosition(5, 5, 0, 0);

var ranges = chartBuilder.getRanges();

// There's only one range as a data source for this chart,
// so this logs "A1:B8"
for (var i in ranges) {
  var range = ranges[i];
  Logger.log(range.getA1Notation());
}

Retornar

Range[]: uma matriz de intervalos que servem como a fonte de dados do gráfico a ser criado.


removeRange(range)

Remove o intervalo especificado do gráfico que este construtor modifica. Não gera um erro se o intervalo não consta no gráfico.

O intervalo removido precisa corresponder a um intervalo adicionado por meio de addRange(range). caso contrário, o gráfico não será alterado. Este método não pode ser usado para remover parcialmente valores de um intervalo.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var firstRange = sheet.getRange("A1:B5");
var secondRange = sheet.getRange("A6:B8");

var chartBuilder = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(firstRange)
    // This range will render in a different color
    .addRange(secondRange)
    .setPosition(5, 5, 0, 0);

// Note that you can use either of these two formats, but the range
// MUST match up with a range that was added via addRange(), or it
// will not be removed, and will not throw an exception
chartBuilder.removeRange(firstRange);
chartBuilder.removeRange(sheet.getRange("A6:B8"));

var chart = chartBuilder.build();

sheet.insertChart(chart);

Parâmetros

NomeTipoDescrição
rangeRangeO intervalo a ser removido.

Retornar

EmbeddedChartBuilder: este builder para encadeamento


setChartType(type)

Muda o tipo de gráfico. No momento, nem todos os tipos de gráficos incorporados são compatíveis. Consulte ChartType.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:B5");
var chart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(range)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

Parâmetros

NomeTipoDescrição
typeChartTypeO tipo para o qual alterar este gráfico.

Retornar

EmbeddedChartBuilder: este builder para encadeamento


setHiddenDimensionStrategy(strategy)

Define a estratégia a ser usada para linhas e colunas ocultas. O valor padrão é IGNORE_ROWS.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:B5");
var chart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(range)
    .setHiddenDimensionStrategy(Charts.ChartHiddenDimensionStrategy.IGNORE_COLUMNS)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

Parâmetros

NomeTipoDescrição
strategyChartHiddenDimensionStrategyA estratégia a ser usada para linhas e colunas ocultas.

Retornar

EmbeddedChartBuilder: este builder para encadeamento


setMergeStrategy(mergeStrategy)

Define a estratégia de mesclagem a ser usada quando existir mais de um intervalo. Se for MERGE_ROWS, as linhas serão mescladas. Se for MERGE_COLUMNS, as colunas serão mescladas. O valor padrão é MERGE_COLUMNS.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:B10");
var range2 = sheet.getRange("C:C10");
var chart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(range)
    .addRange(range2)
    .setMergeStrategy(Charts.ChartMergeStrategy.MERGE_ROWS)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

Parâmetros

NomeTipoDescrição
mergeStrategyChartMergeStrategyA estratégia de mesclagem a ser usada.

Retornar

EmbeddedChartBuilder: este builder para encadeamento


setNumHeaders(headers)

Define o número de linhas ou colunas do intervalo que devem ser tratadas como cabeçalhos.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:B5");
var chart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(range)
    .setNumHeaders(1)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

Parâmetros

NomeTipoDescrição
headersIntegerO número de linhas ou colunas a serem tratadas como cabeçalhos. Valores negativos geram cabeçalhos sejam detectados automaticamente.

Retornar

EmbeddedChartBuilder: este builder para encadeamento


setOption(option, value)

Define opções avançadas para este gráfico. Para visualizar uma lista das opções disponíveis, consulte Gráfico de configuração do Terraform.

Este método não valida a opção especificada como válida para este tipo de gráfico nem se o valor está no formato/estrutura correto.

Este exemplo mostra como mudar o título e definir uma legenda.

builder.setOption('title', 'Earnings projections');
builder.setOption('legend', {position: 'top', textStyle: {color: 'blue', fontSize: 16}});

Parâmetros

NomeTipoDescrição
optionStringO nome da opção.
valueObjectO valor da opção.

Retornar

EmbeddedChartBuilder: este builder para encadeamento.


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

Define a posição, alterando o local em que o gráfico aparece na página. anchorRowPos e anchorColPos estão indexadas com 1.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:B5");
var chart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(range)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

Parâmetros

NomeTipoDescrição
anchorRowPosIntegerO lado superior do gráfico está ancorado nessa linha.
anchorColPosIntegerO lado esquerdo do gráfico está ancorado nessa coluna.
offsetXIntegerO canto superior direito do gráfico é deslocado por essa quantidade de pixels.
offsetYIntegerO canto inferior esquerdo do gráfico é deslocado por esse número de pixels.

Retornar

EmbeddedChartBuilder: este builder para encadeamento


setTransposeRowsAndColumns(transpose)

Define se as linhas e colunas do gráfico são transpostas. Se definido como true, as linhas e as colunas são trocadas. O padrão é false.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:B5");
var chart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(range)
    .setTransposeRowsAndColumns(true)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

Parâmetros

NomeTipoDescrição
transposeBooleanSe true, as linhas e colunas usadas para construir o gráfico serão transpostas.

Retornar

EmbeddedChartBuilder: este builder para encadeamento