Class EmbeddedChartBuilder

Creador de gráficos incorporado

Es el compilador que se usa para editar un EmbeddedChart. Los cambios realizados en el gráfico no se guardan hasta que se llama a Sheet.updateChart(chart) en el gráfico reconstruido.

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

Métodos

MétodoTipo de datos que se muestraDescripción breve
addRange(range)EmbeddedChartBuilderAgrega un rango al gráfico que modifica este compilador.
asAreaChart()EmbeddedAreaChartBuilderEstablece el tipo de gráfico en AreaChart y muestra un EmbeddedAreaChartBuilder.
asBarChart()EmbeddedBarChartBuilderEstablece el tipo de gráfico en BarChart y muestra un EmbeddedBarChartBuilder.
asColumnChart()EmbeddedColumnChartBuilderEstablece el tipo de gráfico en ColumnChart y muestra un EmbeddedColumnChartBuilder.
asComboChart()EmbeddedComboChartBuilderEstablece el tipo de gráfico en ComboChart y muestra un EmbeddedComboChartBuilder.
asHistogramChart()EmbeddedHistogramChartBuilderEstablece el tipo de gráfico en HistogramChart y muestra un EmbeddedHistogramChartBuilder.
asLineChart()EmbeddedLineChartBuilderEstablece el tipo de gráfico en LineChart y muestra un EmbeddedLineChartBuilder.
asPieChart()EmbeddedPieChartBuilderEstablece el tipo de gráfico en PieChart y muestra un EmbeddedPieChartBuilder.
asScatterChart()EmbeddedScatterChartBuilderEstablece el tipo de gráfico en ScatterChart y muestra un EmbeddedScatterChartBuilder.
asTableChart()EmbeddedTableChartBuilderEstablece el tipo de gráfico en TableChart y muestra un EmbeddedTableChartBuilder.
build()EmbeddedChartCompila el gráfico para que refleje todos los cambios que se le hayan realizado.
clearRanges()EmbeddedChartBuilderQuita todos los rangos del gráfico que modifica este compilador.
getChartType()ChartTypeMuestra el tipo de gráfico actual.
getContainer()ContainerInfoDevuelve el ContainerInfo del gráfico, que encapsula dónde aparece el gráfico en la hoja.
getRanges()Range[]Muestra una copia de la lista de rangos que actualmente proporcionan datos para este gráfico.
removeRange(range)EmbeddedChartBuilderQuita el rango especificado del gráfico que modifica este compilador.
setChartType(type)EmbeddedChartBuilderCambia el tipo de gráfico.
setHiddenDimensionStrategy(strategy)EmbeddedChartBuilderEstablece la estrategia que se usará para las filas y columnas ocultas.
setMergeStrategy(mergeStrategy)EmbeddedChartBuilderEstablece la estrategia de combinación que se usará cuando exista más de un rango.
setNumHeaders(headers)EmbeddedChartBuilderEstablece la cantidad de filas o columnas del rango que se deben tratar como encabezados.
setOption(option, value)EmbeddedChartBuilderEstablece opciones avanzadas para este gráfico.
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)EmbeddedChartBuilderEstablece la posición y cambia la ubicación en la que aparece el gráfico en la hoja.
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilderEstablece si las filas y columnas del gráfico se transponen.

Documentación detallada

addRange(range)

Agrega un rango al gráfico que modifica este compilador. No agrega el rango si ya se agregó al gráfico.

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

sheet.insertChart(chart);

Parámetros

NombreTipoDescripción
rangeRangeEs el rango que se agregará.

Volver

EmbeddedChartBuilder: Este compilador, para encadenar


asAreaChart()

Establece el tipo de gráfico en AreaChart y muestra un EmbeddedAreaChartBuilder.

Volver

EmbeddedAreaChartBuilder: Es un compilador para un gráfico de áreas.


asBarChart()

Establece el tipo de gráfico en BarChart y muestra un EmbeddedBarChartBuilder.

Volver

EmbeddedBarChartBuilder: Es un compilador para un gráfico de barras.


asColumnChart()

Establece el tipo de gráfico en ColumnChart y muestra un EmbeddedColumnChartBuilder.

Volver

EmbeddedColumnChartBuilder: Es un compilador para un gráfico de columnas.


asComboChart()

Establece el tipo de gráfico en ComboChart y muestra un EmbeddedComboChartBuilder.

Volver

EmbeddedComboChartBuilder: Es un compilador para un gráfico combinado.


asHistogramChart()

Establece el tipo de gráfico en HistogramChart y muestra un EmbeddedHistogramChartBuilder.

Volver

EmbeddedHistogramChartBuilder: Es un compilador para un gráfico de histograma.


asLineChart()

Establece el tipo de gráfico en LineChart y muestra un EmbeddedLineChartBuilder.

Volver

EmbeddedLineChartBuilder: Es un compilador para un gráfico de líneas.


asPieChart()

Establece el tipo de gráfico en PieChart y muestra un EmbeddedPieChartBuilder.

Volver

EmbeddedPieChartBuilder: Es un compilador para un gráfico circular.


asScatterChart()

Establece el tipo de gráfico en ScatterChart y muestra un EmbeddedScatterChartBuilder.

Volver

EmbeddedScatterChartBuilder: Es un compilador para un diagrama de dispersión.


asTableChart()

Establece el tipo de gráfico en TableChart y muestra un EmbeddedTableChartBuilder.

Volver

EmbeddedTableChartBuilder: Es un compilador para un gráfico de tabla.


build()

Compila el gráfico para que refleje todos los cambios que se le hayan realizado.

Este método no dibuja automáticamente el gráfico en la parte superior de la hoja de cálculo. Se debe insertar un gráfico nuevo a través de sheet.insertChart(chart), y se debe actualizar un gráfico existente a través de sheet.updateChart(chart).

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)
                  .setPosition(5, 5, 0, 0)
                  .build();

sheet.insertChart(chart);

Volver

EmbeddedChart: Es el gráfico creado, que aún se debe agregar a la hoja de cálculo.


clearRanges()

Quita todos los rangos del gráfico que modifica este compilador.

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

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

Volver

EmbeddedChartBuilder: Este compilador, para encadenar


getChartType()

Muestra el tipo de gráfico actual.

Volver

ChartType: Es el tipo de gráfico.


getContainer()

Devuelve el ContainerInfo del gráfico, que encapsula dónde aparece el gráfico en la hoja.

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

const 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()
const containerInfo = chartBuilder.getContainer();

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

Volver

ContainerInfo: Es un objeto que contiene la posición del contenedor de gráficos.


getRanges()

Muestra una copia de la lista de rangos que actualmente proporcionan datos para este gráfico. Usa addRange(range) y removeRange(range) para modificar esta lista.

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

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

const ranges = chartBuilder.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());
}

Volver

Range[]: Es un array de rangos que funcionan como la fuente de datos del gráfico que se compilará.


removeRange(range)

Quita el rango especificado del gráfico que modifica este compilador. No genera un error si el rango no está en este gráfico.

El rango que se quita debe coincidir con un rango agregado a través de addRange(range). De lo contrario, no se realizará ningún cambio en el gráfico. No se puede usar este método para quitar valores de un rango de forma parcial.

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

const firstRange = sheet.getRange('A1:B5');
const secondRange = sheet.getRange('A6:B8');

const 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'));

const chart = chartBuilder.build();

sheet.insertChart(chart);

Parámetros

NombreTipoDescripción
rangeRangeEl rango que se quitará.

Volver

EmbeddedChartBuilder: Este compilador, para encadenar


setChartType(type)

Cambia el tipo de gráfico. Actualmente, no se admiten todos los tipos de gráficos incorporados. Consulta los ChartType.

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)
                  .setPosition(5, 5, 0, 0)
                  .build();

sheet.insertChart(chart);

Parámetros

NombreTipoDescripción
typeChartTypeEs el tipo al que se cambiará este gráfico.

Volver

EmbeddedChartBuilder: Este compilador, para encadenar


setHiddenDimensionStrategy(strategy)

Establece la estrategia que se usará para las filas y columnas ocultas. La configuración predeterminada es 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();

sheet.insertChart(chart);

Parámetros

NombreTipoDescripción
strategyChartHiddenDimensionStrategyEs la estrategia que se usará para las filas y columnas ocultas.

Volver

EmbeddedChartBuilder: Este compilador, para encadenar


setMergeStrategy(mergeStrategy)

Establece la estrategia de combinación que se usará cuando exista más de un rango. Si es MERGE_ROWS, se combinan las filas; si es MERGE_COLUMNS, se combinan las columnas. La configuración predeterminada es MERGE_COLUMNS.

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

const range = sheet.getRange('A1:B10');
const range2 = sheet.getRange('C:C10');
const 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

NombreTipoDescripción
mergeStrategyChartMergeStrategyLa estrategia de combinación que se usará.

Volver

EmbeddedChartBuilder: Este compilador, para encadenar


setNumHeaders(headers)

Establece la cantidad de filas o columnas del rango que se deben tratar como encabezados.

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

sheet.insertChart(chart);

Parámetros

NombreTipoDescripción
headersIntegerEs la cantidad de filas o columnas que se deben tratar como encabezados. Los valores negativos hacen que los encabezados se detecten automáticamente.

Volver

EmbeddedChartBuilder: Este compilador, para encadenar


setOption(option, value)

Establece opciones avanzadas para este gráfico. Para ver una lista de las opciones disponibles, consulta Opciones de configuración de gráficos.

Este método no valida si la opción que especificas es válida para este tipo de gráfico ni si el valor tiene el formato o la estructura correctos.

En este ejemplo, se muestra cómo cambiar el título y establecer una leyenda.

const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getSheets()[0];
const chart = sheet.newChart()
 .setOption('title', 'Earnings projections')
 .setOption('legend', {
   position: 'top',
   textStyle: { color: 'blue', fontSize: 16 },
 }).build();

Parámetros

NombreTipoDescripción
optionStringEl nombre de la opción.
valueObjectEl valor de la opción.

Volver

EmbeddedChartBuilder: Este compilador, para encadenar.


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

Establece la posición y cambia la ubicación en la que aparece el gráfico en la hoja. anchorRowPos y anchorColPos tienen un índice de 1.

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)
                  .setPosition(5, 5, 0, 0)
                  .build();

sheet.insertChart(chart);

Parámetros

NombreTipoDescripción
anchorRowPosIntegerEl lado superior del gráfico está anclado en esta fila.
anchorColPosIntegerEl lado izquierdo del gráfico está anclado en esta columna.
offsetXIntegerLa esquina superior derecha del gráfico se desplaza esta cantidad de píxeles.
offsetYIntegerLa esquina inferior izquierda del gráfico se desplaza esta cantidad de píxeles.

Volver

EmbeddedChartBuilder: Este compilador, para encadenar


setTransposeRowsAndColumns(transpose)

Establece si las filas y columnas del gráfico se transponen. Si se establece en true, se intercambian las filas y las columnas. La configuración predeterminada es false.

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)
                  .setTransposeRowsAndColumns(true)
                  .setPosition(5, 5, 0, 0)
                  .build();

sheet.insertChart(chart);

Parámetros

NombreTipoDescripción
transposeBooleanSi es true, las filas y columnas que se usan para construir el gráfico se transponen.

Volver

EmbeddedChartBuilder: Este compilador, para encadenar