Class EmbeddedChartBuilder

EmbeddedChartBuilder

Builder usado para editar um EmbeddedChart. As alterações feitas no gráfico não serão salvas até que Sheet.updateChart(chart) seja 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 o criador modifica.
asAreaChart()EmbeddedAreaChartBuilderDefine o tipo de gráfico como AreaChart 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 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 construtor modifica.
getChartType()ChartTypeRetorna o tipo de gráfico atual.
getContainer()ContainerInfoRetorne o gráfico ContainerInfo, que encapsula o local em que o gráfico aparece na página.
getRanges()Range[]Retorna uma cópia da lista de intervalos que disponibilizam dados para o gráfico no momento.
removeRange(range)EmbeddedChartBuilderRemove o intervalo especificado do gráfico que este criador 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 combinação a ser usada quando houver mais de um intervalo.
setNumHeaders(headers)EmbeddedChartBuilderDefine o número de linhas ou colunas do intervalo que deve ser tratado 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 onde o gráfico aparece na página.
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilderDefine se as linhas e colunas do gráfico serão transpostas.

Documentação detalhada

addRange(range)

Adiciona um intervalo ao gráfico que o criador modifica. Não adiciona o intervalo se ele já tiver sido adicionado 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.

Retorno

EmbeddedChartBuilder: este builder, para encadeamento


asAreaChart()

Define o tipo de gráfico como AreaChart e retorna um EmbeddedAreaChartBuilder.

Retorno

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


asBarChart()

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

Retorno

EmbeddedBarChartBuilder: um builder para um gráfico de barras


asColumnChart()

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

Retorno

EmbeddedColumnChartBuilder: um builder para um gráfico de colunas


asComboChart()

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

Retorno

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


asHistogramChart()

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

Retorno

EmbeddedHistogramChartBuilder: um builder para um histograma


asLineChart()

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

Retorno

EmbeddedLineChartBuilder: um builder para um gráfico de linhas


asPieChart()

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

Retorno

EmbeddedPieChartBuilder: um criador para um gráfico de pizza


asScatterChart()

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

Retorno

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


asTableChart()

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

Retorno

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 sheet.insertChart(chart) e um gráfico existente precisa ser atualizado por 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);

Retorno

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


clearRanges()

Remove todos os intervalos do gráfico que este construtor 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);

Retorno

EmbeddedChartBuilder: este builder, para encadeamento


getChartType()

Retorna o tipo de gráfico atual.

Retorno

ChartType: o tipo de gráfico


getContainer()

Retorne o gráfico ContainerInfo, que encapsula o local em que o gráfico aparece na página.

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());

Retorno

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 disponibilizam dados para o gráfico no momento. 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());
}

Retorno

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


removeRange(range)

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

O intervalo removido precisa corresponder a um intervalo adicionado por meio de addRange(range). Caso contrário, nenhuma alteração será feita no gráfico. Esse 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.

Retorno

EmbeddedChartBuilder: este builder, para encadeamento


setChartType(type)

Muda o tipo de gráfico. Nem todos os tipos de gráficos incorporados são suportados no momento. Consulte os 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 este gráfico será alterado.

Retorno

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.

Retorno

EmbeddedChartBuilder: este builder, para encadeamento


setMergeStrategy(mergeStrategy)

Define a estratégia de combinação a ser usada quando houver mais de um intervalo. Se for MERGE_ROWS, as linhas serão mescladas. Se MERGE_COLUMNS, as colunas serão mescladas. Por padrão, é configurado como 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 combinação a ser usada.

Retorno

EmbeddedChartBuilder: este builder, para encadeamento


setNumHeaders(headers)

Define o número de linhas ou colunas do intervalo que deve ser tratado 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 fazem com que os cabeçalhos sejam detectados automaticamente.

Retorno

EmbeddedChartBuilder: este builder, para encadeamento


setOption(option, value)

Define opções avançadas para este gráfico. Para ver uma lista das opções disponíveis, consulte Opções de configuração de gráficos.

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

Este exemplo mostra como alterar 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
optionStringNome da opção.
valueObjectValor da opção.

Retorno

EmbeddedChartBuilder: este builder, para encadeamento.


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

Define a posição, alterando onde o gráfico aparece na página. anchorRowPos e anchorColPos têm índices 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
anchorRowPosIntegerA parte de cima do gráfico está ancorada nessa linha.
anchorColPosIntegerO lado esquerdo do gráfico está ancorado nessa coluna.
offsetXIntegerO canto superior direito do gráfico é deslocado por esta quantidade de pixels.
offsetYIntegerO canto inferior esquerdo do gráfico é deslocado por esta quantidade de pixels.

Retorno

EmbeddedChartBuilder: este builder, para encadeamento


setTransposeRowsAndColumns(transpose)

Define se as linhas e colunas do gráfico serão transpostas. Se definido como true, as linhas e colunas serão trocadas. O valor 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 for true, as linhas e colunas usadas para construir o gráfico serão transpostas.

Retorno

EmbeddedChartBuilder: este builder, para encadeamento