Class EmbeddedChartBuilder

Outil de création de graphiques intégré

Compilateur utilisé pour modifier un EmbeddedChart. Les modifications apportées au graphique ne sont pas enregistrées tant que Sheet.updateChart(chart) n'est pas appelé sur le graphique reconstruit.

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éthodes

MéthodeType renvoyéBrève description
addRange(range)EmbeddedChartBuilderAjoute une plage au graphique que ce générateur modifie.
asAreaChart()EmbeddedAreaChartBuilderDéfinit le type de graphique sur "AreaChart" et renvoie un EmbeddedAreaChartBuilder.
asBarChart()EmbeddedBarChartBuilderDéfinit le type de graphique sur "BarChart" et renvoie un EmbeddedBarChartBuilder.
asColumnChart()EmbeddedColumnChartBuilderDéfinit le type de graphique sur "ColumnChart" et renvoie un EmbeddedColumnChartBuilder.
asComboChart()EmbeddedComboChartBuilderDéfinit le type de graphique sur "ComboChart" et renvoie un EmbeddedComboChartBuilder.
asHistogramChart()EmbeddedHistogramChartBuilderDéfinit le type de graphique sur HistogramChart et renvoie un EmbeddedHistogramChartBuilder.
asLineChart()EmbeddedLineChartBuilderDéfinit le type de graphique sur "LineChart" et renvoie un EmbeddedLineChartBuilder.
asPieChart()EmbeddedPieChartBuilderDéfinit le type de graphique sur PieChart et renvoie un EmbeddedPieChartBuilder.
asScatterChart()EmbeddedScatterChartBuilderDéfinit le type de graphique sur ScatterChart et renvoie un EmbeddedScatterChartBuilder.
asTableChart()EmbeddedTableChartBuilderDéfinit le type de graphique sur "TableChart" et renvoie un EmbeddedTableChartBuilder.
build()EmbeddedChartCrée le graphique pour refléter toutes les modifications qui y ont été apportées.
clearRanges()EmbeddedChartBuilderSupprime toutes les plages du graphique que ce générateur modifie.
getChartType()ChartTypeRenvoie le type de graphique actuel.
getContainer()ContainerInfoRenvoie le ContainerInfo du graphique, qui encapsule l'emplacement du graphique sur la feuille.
getRanges()Range[]Renvoie une copie de la liste des plages qui fournissent actuellement des données pour ce graphique.
removeRange(range)EmbeddedChartBuilderSupprime la plage spécifiée du graphique que ce générateur modifie.
setChartType(type)EmbeddedChartBuilderPermet de modifier le type de graphique.
setHiddenDimensionStrategy(strategy)EmbeddedChartBuilderDéfinit la stratégie à utiliser pour les lignes et colonnes masquées.
setMergeStrategy(mergeStrategy)EmbeddedChartBuilderDéfinit la stratégie de fusion à utiliser lorsqu'il existe plusieurs plages.
setNumHeaders(headers)EmbeddedChartBuilderDéfinit le nombre de lignes ou de colonnes de la plage à traiter comme des en-têtes.
setOption(option, value)EmbeddedChartBuilderDéfinit les options avancées de ce graphique.
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)EmbeddedChartBuilderDéfinit la position, ce qui modifie l'emplacement du graphique sur la feuille.
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilderIndique si les lignes et les colonnes du graphique doivent être transposées.

Documentation détaillée

addRange(range)

Ajoute une plage au graphique que ce générateur modifie. Ne l'ajoute pas si elle a déjà été ajoutée au graphique.

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

Paramètres

NomTypeDescription
rangeRangePlage à ajouter.

Renvois

EmbeddedChartBuilder : ce compilateur, pour le chaînage


asAreaChart()

Définit le type de graphique sur "AreaChart" et renvoie un EmbeddedAreaChartBuilder.

Renvois

EmbeddedAreaChartBuilder : outil de création d'un graphique en aires


asBarChart()

Définit le type de graphique sur "BarChart" et renvoie un EmbeddedBarChartBuilder.

Renvois

EmbeddedBarChartBuilder : outil de création d'un graphique à barres


asColumnChart()

Définit le type de graphique sur "ColumnChart" et renvoie un EmbeddedColumnChartBuilder.

Renvois

EmbeddedColumnChartBuilder : outil de création d'un graphique à colonnes


asComboChart()

Définit le type de graphique sur "ComboChart" et renvoie un EmbeddedComboChartBuilder.

Renvois

EmbeddedComboChartBuilder : compilateur pour un graphique combiné


asHistogramChart()

Définit le type de graphique sur HistogramChart et renvoie un EmbeddedHistogramChartBuilder.

Renvois

EmbeddedHistogramChartBuilder : générateur d'un histogramme


asLineChart()

Définit le type de graphique sur "LineChart" et renvoie un EmbeddedLineChartBuilder.

Renvois

EmbeddedLineChartBuilder : outil de création d'un graphique linéaire


asPieChart()

Définit le type de graphique sur PieChart et renvoie un EmbeddedPieChartBuilder.

Renvois

EmbeddedPieChartBuilder : outil de création d'un graphique à secteurs


asScatterChart()

Définit le type de graphique sur ScatterChart et renvoie un EmbeddedScatterChartBuilder.

Renvois

EmbeddedScatterChartBuilder : outil de création d'un graphique à nuage de points


asTableChart()

Définit le type de graphique sur "TableChart" et renvoie un EmbeddedTableChartBuilder.

Renvois

EmbeddedTableChartBuilder : compilateur pour un graphique sous forme de tableau


build()

Crée le graphique pour refléter toutes les modifications qui y ont été apportées.

Cette méthode ne dessine pas automatiquement le graphique au-dessus de la feuille de calcul. Un nouveau graphique doit être inséré via sheet.insertChart(chart), et un graphique existant doit être mis à jour via 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);

Renvois

EmbeddedChart : graphique créé, qui doit encore être ajouté à la feuille de calcul


clearRanges()

Supprime toutes les plages du graphique que ce générateur modifie.

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

Renvois

EmbeddedChartBuilder : ce compilateur, pour le chaînage


getChartType()

Renvoie le type de graphique actuel.

Renvois

ChartType : type de graphique


getContainer()

Renvoie le ContainerInfo du graphique, qui encapsule l'emplacement du graphique sur la feuille.

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

Renvois

ContainerInfo : objet contenant la position du conteneur du graphique


getRanges()

Renvoie une copie de la liste des plages qui fournissent actuellement des données pour ce graphique. Utilisez addRange(range) et removeRange(range) pour modifier cette liste.

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

Renvois

Range[] : tableau de plages servant de source de données au graphique à créer


removeRange(range)

Supprime la plage spécifiée du graphique que ce générateur modifie. Ne génère pas d'erreur si la plage ne figure pas dans ce graphique.

La plage supprimée doit correspondre à une plage ajoutée via addRange(range). Sinon, aucune modification n'est apportée au graphique. Cette méthode ne permet pas de supprimer partiellement des valeurs d'une plage.

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

Paramètres

NomTypeDescription
rangeRangePlage à supprimer.

Renvois

EmbeddedChartBuilder : ce compilateur, pour le chaînage


setChartType(type)

Permet de modifier le type de graphique. Tous les types de graphiques intégrés ne sont pas encore compatibles. Consultez les 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);

Paramètres

NomTypeDescription
typeChartTypeType de graphique à remplacer par ce graphique.

Renvois

EmbeddedChartBuilder : ce compilateur, pour le chaînage


setHiddenDimensionStrategy(strategy)

Définit la stratégie à utiliser pour les lignes et colonnes masquées. La valeur par défaut est 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);

Paramètres

NomTypeDescription
strategyChartHiddenDimensionStrategyStratégie à utiliser pour les lignes et colonnes masquées.

Renvois

EmbeddedChartBuilder : ce compilateur, pour le chaînage


setMergeStrategy(mergeStrategy)

Définit la stratégie de fusion à utiliser lorsqu'il existe plusieurs plages. Si la valeur est MERGE_ROWS, les lignes sont fusionnées. Si elle est MERGE_COLUMNS, les colonnes sont fusionnées. La valeur par défaut est 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);

Paramètres

NomTypeDescription
mergeStrategyChartMergeStrategyStratégie de fusion à utiliser.

Renvois

EmbeddedChartBuilder : ce compilateur, pour le chaînage


setNumHeaders(headers)

Définit le nombre de lignes ou de colonnes de la plage à traiter comme des en-têtes.

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

Paramètres

NomTypeDescription
headersIntegerNombre de lignes ou de colonnes à traiter comme des en-têtes. Les valeurs négatives entraînent la détection automatique des en-têtes.

Renvois

EmbeddedChartBuilder : ce compilateur, pour le chaînage


setOption(option, value)

Définit les options avancées de ce graphique. Pour afficher la liste des options disponibles, consultez la section Options de configuration des graphiques.

Cette méthode ne vérifie pas si l'option que vous spécifiez est valide pour ce type de graphique ni si la valeur est au bon format/structure.

Cet exemple montre comment modifier le titre et définir une légende.

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

Paramètres

NomTypeDescription
optionStringNom de l'option.
valueObjectValeur de l'option.

Renvois

EmbeddedChartBuilder : ce générateur, pour le chaînage.


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

Définit la position, ce qui modifie l'emplacement du graphique sur la feuille. anchorRowPos et anchorColPos sont indexés à 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);

Paramètres

NomTypeDescription
anchorRowPosIntegerLe bord supérieur du graphique est ancré sur cette ligne.
anchorColPosIntegerLe côté gauche du graphique est ancré dans cette colonne.
offsetXIntegerLe coin supérieur droit du graphique est décalé de ce nombre de pixels.
offsetYIntegerLe coin inférieur gauche du graphique est décalé de ce nombre de pixels.

Renvois

EmbeddedChartBuilder : ce compilateur, pour le chaînage


setTransposeRowsAndColumns(transpose)

Indique si les lignes et les colonnes du graphique doivent être transposées. Si la valeur est true, les lignes et les colonnes sont inversées. La valeur par défaut est 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);

Paramètres

NomTypeDescription
transposeBooleanSi la valeur est true, les lignes et les colonnes utilisées pour construire le graphique sont transposées.

Renvois

EmbeddedChartBuilder : ce compilateur, pour le chaînage