Class EmbeddedChartBuilder

EmbeddedChartBuilder

Builder usado para editar um EmbeddedChart. As mudanças 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 este builder 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 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 builder modifica.
getChartType()ChartTypeRetorna o tipo de gráfico atual.
getContainer()ContainerInfoRetorne o gráfico ContainerInfo, que encapsula o local em que ele aparece na página.
getRanges()Range[]Retorna uma cópia da lista de intervalos que estão fornecendo dados para este gráfico no momento.
removeRange(range)EmbeddedChartBuilderRemove o intervalo especificado do gráfico que este builder modifica.
setChartType(type)EmbeddedChartBuilderAltera 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 o local em que o gráfico aparece na página.
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilderDefine se as linhas e as colunas do gráfico são transpostas.

Documentação detalhada

addRange(range)

Adiciona um intervalo ao gráfico que este builder modifica. Não adiciona o intervalo se ele já foi 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.

Retornar

EmbeddedChartBuilder: este builder, para encadeamento


asAreaChart()

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

Retornar

EmbeddedAreaChartBuilder: um criador 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 criador para um gráfico de linhas


asPieChart()

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

Retornar

EmbeddedPieChartBuilder: um criador 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 via 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);

Retornar

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


clearRanges()

Remove todos os intervalos do gráfico que este builder 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 o local em que ele 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());

Retornar

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


getRanges()

Retorna uma cópia da lista de intervalos que estão fornecendo dados para este 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());
}

Retornar

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


removeRange(range)

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

O intervalo removido precisa corresponder a um intervalo adicionado usando addRange(range). Caso contrário, nenhuma mudança 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.

Retornar

EmbeddedChartBuilder: este builder, para encadeamento


setChartType(type)

Altera o tipo de gráfico. Nem todos os tipos de gráficos incorporados estão disponíveis 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.

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 combinação a ser usada quando houver mais de um intervalo. Se for MERGE_ROWS, as linhas serão mescladas. Caso 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 combinação a ser usada.

Retornar

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
headersIntegerÉ o número de linhas ou colunas a serem tratadas como cabeçalhos. Valores negativos fazem com que os cabeçalhos sejam detectados automaticamente.

Retornar

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áfico.

Esse método não valida a opção que você especifica é válida para esse tipo de gráfico, nem se o valor é do 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
optionStringNome da opção.
valueObjectValor 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 têm indexação 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 superior do gráfico está ancorada nesta linha.
anchorColPosIntegerO lado esquerdo do gráfico está ancorado nesta coluna.
offsetXIntegerO canto superior direito do gráfico é deslocado por muitos pixels.
offsetYIntegerO canto inferior esquerdo do gráfico está deslocado por muitos pixels.

Retornar

EmbeddedChartBuilder: este builder, para encadeamento


setTransposeRowsAndColumns(transpose)

Define se as linhas e as colunas do gráfico são transpostas. Se definido como true, as linhas e colunas serão alternadas. 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