Class EmbeddedChart

EmbeddedChart

Representa um gráfico incorporado a uma planilha.

Este exemplo mostra como modificar um gráfico:

const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange('A2:B8');
let 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);

Este exemplo mostra como criar um novo gráfico:

function newChart(range) {
  const sheet = SpreadsheetApp.getActiveSheet();
  const chartBuilder = sheet.newChart();
  chartBuilder.addRange(range)
      .setChartType(Charts.ChartType.LINE)
      .setOption('title', 'My Line Chart!');
  sheet.insertChart(chartBuilder.build());
}

Métodos

MétodoTipo de retornoBreve descrição
asDataSourceChart()DataSourceChartFaz a conversão para uma instância de gráfico de fonte de dados se o gráfico for desse tipo ou null caso contrário.
getAs(contentType)BlobRetorna os dados dentro desse objeto como um blob convertido para o tipo de conteúdo especificado.
getBlob()BlobRetorna os dados dentro desse objeto como um blob.
getChartId()IntegerRetorna um identificador estável e exclusivo para o gráfico na planilha que o contém ou null se ele não estiver em uma planilha.
getContainerInfo()ContainerInfoRetorna informações sobre onde o gráfico está posicionado em uma planilha.
getHiddenDimensionStrategy()ChartHiddenDimensionStrategyRetorna a estratégia a ser usada para processar linhas e colunas ocultas.
getMergeStrategy()ChartMergeStrategyRetorna a estratégia de fusão usada quando há mais de um intervalo.
getNumHeaders()IntegerRetorna o número de linhas ou colunas do intervalo que são tratadas como cabeçalhos.
getOptions()ChartOptionsRetorna as opções do gráfico, como altura, cores e eixos.
getRanges()Range[]Retorna os intervalos que este gráfico usa como fonte de dados.
getTransposeRowsAndColumns()BooleanSe true, as linhas e colunas usadas para preencher o gráfico serão trocadas.
modify()EmbeddedChartBuilderRetorna um EmbeddedChartBuilder que pode ser usado para modificar este gráfico.

Documentação detalhada

asDataSourceChart()

Faz a conversão para uma instância de gráfico de fonte de dados se o gráfico for desse tipo ou null caso contrário.

Retornar

DataSourceChart: o gráfico da fonte de dados.


getAs(contentType)

Retorna os dados dentro desse objeto como um blob convertido para o tipo de conteúdo especificado. Esse método adiciona a extensão apropriada ao nome do arquivo, por exemplo, "meuarquivo.pdf". No entanto, ele pressupõe que a parte do nome do arquivo que segue o último ponto (se houver) é uma extensão existente que precisa ser substituída. Consequentemente, "ShoppingList.12.25.2014" se torna "ShoppingList.12.25.pdf".

Para conferir as cotas diárias de conversões, consulte Cotas para serviços do Google. Os domínios do Google Workspace criados recentemente podem estar sujeitos temporariamente a cotas mais rígidas.

Parâmetros

NomeTipoDescrição
contentTypeStringO tipo MIME para conversão. Para a maioria dos blobs, 'application/pdf' é a única opção válida. Para imagens em formato BMP, GIF, JPEG ou PNG, qualquer uma das opções 'image/bmp', 'image/gif', 'image/jpeg' ou 'image/png' também é válida. Para um documento do Google Docs, 'text/markdown' também é válido.

Retornar

Blob: os dados como um blob.


getBlob()

Retorna os dados dentro desse objeto como um blob.

Retornar

Blob: os dados como um blob.


getChartId()

Retorna um identificador estável e exclusivo para o gráfico na planilha que o contém ou null se ele não estiver em uma planilha.

Retornar

Integer: um identificador de gráfico estável.


getContainerInfo()

Retorna informações sobre onde o gráfico está posicionado em uma planilha.

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

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

const containerInfo = chart.getContainerInfo();

// Logs the values 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.


getHiddenDimensionStrategy()

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

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

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

// Logs the strategy to use for hidden rows and columns which is
// Charts.ChartHiddenDimensionStrategy.IGNORE_COLUMNS in this case.
Logger.log(chart.getHiddenDimensionStrategy());

Retornar

ChartHiddenDimensionStrategy: a estratégia a ser usada para linhas e colunas ocultas.


getMergeStrategy()

Retorna a estratégia de fusão usada quando há mais de um intervalo. Se MERGE_ROWS, as linhas serão mescladas; se MERGE_COLUMNS, as colunas serão mescladas. O valor padrão é MERGE_COLUMNS.

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

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

// Logs whether rows of multiple ranges are merged, which is MERGE_ROWS in this
// case.
Logger.log(chart.getMergeStrategy());

Retornar

ChartMergeStrategy: MERGE_ROWS se as linhas forem mescladas em vários intervalos; MERGE_COLUMNS se as colunas forem mescladas em vários intervalos.


getNumHeaders()

Retorna o número de linhas ou colunas do intervalo que são tratadas como cabeçalhos.

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

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

// Logs the number of rows or columns to use as headers, which is 1 in this
// case.
Logger.log(chart.getHeaders());

Retornar

Integer: o número de linhas ou colunas tratadas como cabeçalhos. Valores negativos indicam que os cabeçalhos são detectados automaticamente.


getOptions()

Retorna as opções do gráfico, como altura, cores e eixos.

As opções retornadas são imutáveis.

Retornar

ChartOptions: as opções desse gráfico, como altura, cores e eixos.


getRanges()

Retorna os intervalos que este gráfico usa como fonte de dados.

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

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

const ranges = chart.getRanges();

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

Retornar

Range[]: uma matriz de intervalos que servem como fonte de dados deste gráfico.


getTransposeRowsAndColumns()

Se true, as linhas e colunas usadas para preencher o gráfico serão trocadas. O padrão é false.

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

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

// Logs whether rows and columns should be transposed, which is true in this
// case.
Logger.log(chart.getTransposeRowsAndColumns());

Retornar

Boolean: True se as linhas e colunas usadas para construir o gráfico forem transpostas.


modify()

Retorna um EmbeddedChartBuilder que pode ser usado para modificar este gráfico. Invoque sheet.updateChart(chart) para salvar as mudanças.

const sheet = SpreadsheetApp.getActiveSheet();
let chart = sheet.getCharts()[0];
chart = chart.modify()
            .setOption('width', 800)
            .setOption('height', 640)
            .setPosition(5, 5, 0, 0)
            .build();
sheet.updateChart(chart);

Retornar

EmbeddedChartBuilder: um criador para criar gráficos incorporados.