L'API Google Sheets vous permet de créer et de mettre à jour des graphiques dans des feuilles de calcul en tant que nécessaires. Les exemples de cette page montrent comment obtenir des à l'aide de l'API Sheets.
Ces exemples sont présentés sous la forme de requêtes HTTP et neutres. Pour découvrir comment implémenter une mise à jour par lot dans différents langages à l'aide de les bibliothèques clientes de l'API Google, consultez la section Mettre à jour feuilles de calcul.
Dans ces exemples, les espaces réservés SPREADSHEET_ID et SHEET_ID
indique où vous devez fournir ces identifiants. Vous pouvez accéder à la feuille de calcul
ID dans l'URL de la feuille de calcul. Vous pouvez obtenir
l'ID de la feuille de calcul à l'aide de l'élément
spreadsheets.get
. La
sont spécifiées au format A1. Une
exemple de plage est Feuille1!A1:D5.
De plus, l'espace réservé CHART_ID indique l'identifiant d'une propriété
graphique. Vous pouvez définir cet ID lorsque vous créez un graphique avec l'API Sheets,
ou autorisez l'API Sheets à en générer un pour vous. Vous pouvez obtenir les identifiants
les graphiques existants
spreadsheets.get
.
Enfin, l'espace réservé SOURCE_SHEET_ID indique votre feuille avec les données sources. Dans ces exemples, il s'agit du tableau répertorié sous Source du graphique données.
Données sources du graphique
Pour ces exemples, supposons que la feuille de calcul utilisée dispose de la source suivante dans sa première feuille ("Feuille1"). Les chaînes de la première ligne sont des étiquettes pour les colonnes individuelles. Pour voir des exemples de lecture à partir d'autres feuilles dans votre feuille de calcul, consultez la section Notation A1.
A | B | C | D | E | |
1 | Numéro de modèle | Ventes – Jan. | Ventes – Févr. | Ventes – Mars | Total des ventes |
2 | J-01X | 68 | 74 | 60 | 202 |
3 | FR-0B1 | 97 | 76 | 88 | 261 |
4 | P-034 | 27 | 49 | 32 | 108 |
5 | P-105 | 46 | 44 | 67 | 157 |
6 | W-11 | 75 | 68 | 87 | 230 |
7 | W-24 | 74 | 52 | 62 | 188 |
Ajouter un graphique à colonnes
Les éléments suivants :
spreadsheets.batchUpdate
exemple de code montre comment utiliser
AddChartRequest
pour créer un graphique à colonnes à partir des données sources et le placer dans une nouvelle feuille. La
effectue les opérations suivantes pour configurer le graphique:
- Définit le type de graphique en tant que graphique à colonnes.
- Ajoute une légende au bas du graphique.
- Définit le titre du graphique et des axes.
- configure trois séries de données, représentant des ventes pour trois mois différents, tandis que en utilisant la mise en forme et les couleurs par défaut.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addChart": { "chart": { "spec": { "title": "Model Q1 Sales", "basicChart": { "chartType": "COLUMN", "legendPosition": "BOTTOM_LEGEND", "axis": [ { "position": "BOTTOM_AXIS", "title": "Model Numbers" }, { "position": "LEFT_AXIS", "title": "Sales" } ], "domains": [ { "domain": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 0, "endColumnIndex": 1 } ] } } } ], "series": [ { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 1, "endColumnIndex": 2 } ] } }, "targetAxis": "LEFT_AXIS" }, { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 2, "endColumnIndex": 3 } ] } }, "targetAxis": "LEFT_AXIS" }, { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 3, "endColumnIndex": 4 } ] } }, "targetAxis": "LEFT_AXIS" } ], "headerCount": 1 } }, "position": { "newSheet": true } } } } ] }
La requête crée un graphique dans une nouvelle feuille, comme ceci:
Ajouter un graphique à secteurs
Les éléments suivants :
spreadsheets.batchUpdate
exemple de code montre comment utiliser
AddChartRequest
pour créer un graphique à secteurs 3D à partir des données sources. La requête effectue ce qui suit pour
configurez le graphique:
- Définit le titre du graphique.
- Ajoute une légende à droite du graphique.
- Définit le graphique en tant que graphique à secteurs 3D. Notez que les graphiques à secteurs 3D ne peuvent pas comporter "trou de donut" au centre, comme le peuvent les graphiques à secteurs plats.
- Définit la série de données du graphique en tant que ventes totales pour chaque numéro de modèle.
- Ancre le graphique sur la cellule C3 de la feuille spécifiée par SHEET_ID. avec un décalage de 50 pixels dans les directions X et Y.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addChart": { "chart": { "spec": { "title": "Model Q1 Total Sales", "pieChart": { "legendPosition": "RIGHT_LEGEND", "threeDimensional": true, "domain": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 0, "endColumnIndex": 1 } ] } }, "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 4, "endColumnIndex": 5 } ] } }, } }, "position": { "overlayPosition": { "anchorCell": { "sheetId": SHEET_ID, "rowIndex": 2, "columnIndex": 2 }, "offsetXPixels": 50, "offsetYPixels": 50 } } } } } ] }
La requête crée un graphique semblable à celui-ci:
Vous pouvez également modifier la valeur "captionPosition" à partir de RIGHT_LEGEND. à LABELED_LEGEND dans la requête, de sorte que les valeurs de la légende soient connecté aux secteurs du graphique à secteurs.
'legendPosition': 'LABELED_LEGEND',
La requête mise à jour crée un graphique semblable à celui-ci:
Ajouter un graphique en courbes utilisant plusieurs plages non adjacentes
Les éléments suivants :
spreadsheets.batchUpdate
exemple de code montre comment utiliser
AddChartRequest
pour créer un graphique en courbes à partir des données sources et le placer dans la feuille source.
La sélection de plages non adjacentes peut être utilisée pour exclure des lignes de la
ChartSourceRange
La requête effectue les opérations suivantes pour configurer le graphique:
- Définit le type de graphique en tant que graphique en courbes.
- Définit le titre de l'axe X horizontal.
- Configure une série de données représentant les ventes. Il définit A1:A3 et A6:A7 comme
domain
et B1:B3 et B6:B7 en tant queseries
tout en utilisant la mise en forme et les couleurs par défaut. Les plages sont spécifiées avec A1 dans l'URL de la requête. - Ancre le graphique sur la cellule H8 de la feuille spécifiée par SHEET_ID.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addChart": { "chart": { "spec": { "basicChart": { "chartType": "LINE", "domains": [ { "domain": { "sourceRange": { "sources": [ { "startRowIndex": 0, "endRowIndex": 3, "startColumnIndex": 0, "endColumnIndex": 1, "sheetId": SOURCE_SHEET_ID }, { "startRowIndex": 5, "endRowIndex": 7, "startColumnIndex": 0, "endColumnIndex": 1, "sheetId": SOURCE_SHEET_ID } ] } } } ], "series": [ { "series": { "sourceRange": { "sources": [ { "startRowIndex": 0, "endRowIndex": 3, "startColumnIndex": 1, "endColumnIndex": 2, "sheetId": SOURCE_SHEET_ID }, { "startRowIndex": 5, "endRowIndex": 7, "startColumnIndex": 1, "endColumnIndex": 2, "sheetId": SOURCE_SHEET_ID } ] } } } ] } }, "position": { "overlayPosition": { "anchorCell": { "sheetId": SOURCE_SHEET_ID, "rowIndex": 8, "columnIndex": 8 } } } } } } ] }
La requête crée un graphique dans une nouvelle feuille, comme ceci:
Supprimer un graphique
Les éléments suivants :
spreadsheets.batchUpdate
exemple de code montre comment utiliser
DeleteEmbeddedObjectRequest
pour supprimer un graphique spécifié par CHART_ID.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteEmbeddedObject": { "objectId": CHART_ID } } ] }
Modifier les propriétés d'un graphique
Les éléments suivants :
spreadsheets.batchUpdate
exemple de code montre comment utiliser
UpdateChartSpecRequest
pour modifier le graphique créé dans la recette Ajouter un graphique à colonnes,
modifier ses données, son type et son apparence. Les sous-ensembles de propriétés du graphique
modifiées individuellement. Pour apporter des modifications, vous devez renseigner l'intégralité du champ spec
avec un UpdateChartSpecRequest
. En bref, modifier
une spécification de graphique
nécessite de le remplacer par un nouveau.
La requête suivante met à jour le graphique d'origine (spécifié par CHART_ID):
- Définit le type de graphique sur
BAR
. - Déplace la légende vers la droite du graphique.
- Inverse les axes de sorte que "Ventes" se trouve sur l'axe inférieur et « Numéros de modèle » sur l'axe de gauche.
- Définit le format du titre de l'axe sur une police à 24 points, en gras ou en italique.
- Supprime le "W-24" les données du graphique (ligne 7 de la source du graphique) données).
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateChartSpec": { "chartId": CHART_ID, "spec": { "title": "Model Q1 Sales", "basicChart": { "chartType": "BAR", "legendPosition": "RIGHT_LEGEND", "axis": [ { "format": { "bold": true, "italic": true, "fontSize": 24 }, "position": "BOTTOM_AXIS", "title": "Sales" }, { "format": { "bold": true, "italic": true, "fontSize": 24 }, "position": "LEFT_AXIS", "title": "Model Numbers" } ], "domains": [ { "domain": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 6, "startColumnIndex": 0, "endColumnIndex": 1 } ] } } } ], "series": [ { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 6, "startColumnIndex": 1, "endColumnIndex": 2 } ] } }, "targetAxis": "BOTTOM_AXIS" }, { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 6, "startColumnIndex": 2, "endColumnIndex": 3 } ] } }, "targetAxis": "BOTTOM_AXIS" }, { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 6, "startColumnIndex": 3, "endColumnIndex": 4 } ] } }, "targetAxis": "BOTTOM_AXIS" } ], "headerCount": 1 } } } } ] }
Après la requête, le graphique s'affiche comme suit:
Déplacer ou redimensionner un graphique
Les éléments suivants :
spreadsheets.batchUpdate
exemple de code montre comment utiliser
UpdateEmbeddedObjectPositionRequest
déplacer et redimensionner un graphique. Après la requête, le graphique spécifié par CHART_ID
est:
- Ancrée à la cellule A5 de sa feuille d'origine.
- Décaler vers l'axe X de 100 pixels
- Redimensionné à 1 200 x 742 pixels (la taille par défaut d'un graphique est 600 x 371 pixels).
La requête ne modifie que les propriétés spécifiées avec le paramètre fields
.
Les autres propriétés (telles que offsetYPixels
) conservent leurs valeurs d'origine.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateEmbeddedObjectPosition": { "objectId": CHART_ID, "newPosition": { "overlayPosition": { "anchorCell": { "rowIndex": 4, "columnIndex": 0 }, "offsetXPixels": 100, "widthPixels": 1200, "heightPixels": 742 } }, "fields": "anchorCell(rowIndex,columnIndex),offsetXPixels,widthPixels,heightPixels" } } ] }
Lire les données du graphique
Les éléments suivants :
Exemple de code spreadsheets.get
montre comment récupérer les données d'un graphique à partir d'une feuille de calcul. Le paramètre de requête fields
indique que seules les données du graphique doivent être renvoyées.
La réponse à cet appel de méthode
spreadsheet
, qui contient un tableau de
Objets sheet
. Tous les graphiques
présentes sur une feuille sont représentées dans le
objet sheet
. Si un
est défini sur la valeur par défaut, il est omis de la réponse.
Dans cet exemple, la première feuille (SOURCE_SHEET_ID) n'a aucune valeur les graphiques. Une paire vide d'accolades est donc renvoyée. La deuxième feuille contient graphique créé avec l'option Ajouter un graphique à colonnes, et rien d'autre.
Le protocole de requête est présenté ci-dessous.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(charts)
{ "sheets": [ {}, { "charts": [ { "chartId": CHART_ID, "position": { "sheetId": SHEET_ID }, "spec": { "basicChart": { "axis": [ { "format": { "bold": false, "italic": false }, "position": "BOTTOM_AXIS", "title": "Model Numbers" }, { "format": { "bold": false, "italic": false }, "position": "LEFT_AXIS", "title": "Sales" } ], "chartType": "COLUMN", "domains": [ { "domain": { "sourceRange": { "sources": [ { "endColumnIndex": 1 "endRowIndex": 7, "sheetId": SOURCE_SHEET_ID, "startColumnIndex": 0, "startRowIndex": 0, } ] } } } ], "legendPosition": "BOTTOM_LEGEND", "series": [ { "series": { "sourceRange": { "sources": [ { "endColumnIndex": 2, "endRowIndex": 7, "sheetId": SOURCE_SHEET_ID, "startColumnIndex": 1, "startRowIndex": 0, } ] } }, "targetAxis": "LEFT_AXIS" }, { "series": { "sourceRange": { "sources": [ { "endColumnIndex": 3, "endRowIndex": 7, "sheetId": SOURCE_SHEET_ID, "startColumnIndex": 2, "startRowIndex": 0, } ] } }, "targetAxis": "LEFT_AXIS" }, { "series": { "sourceRange": { "sources": [ { "endColumnIndex": 4, "endRowIndex": 7, "sheetId": SOURCE_SHEET_ID, "startColumnIndex": 3, "startRowIndex": 0, } ] } }, "targetAxis": "LEFT_AXIS" } ] }, "hiddenDimensionStrategy": "SKIP_HIDDEN_ROWS_AND_COLUMNS", "title": "Model Q1 Sales", }, } ] } ] }