Class EmbeddedChartBuilder

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.
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