Cette page explique comment charger les bibliothèques Google Charts.
Chargement de base de la bibliothèque
À quelques exceptions près, toutes les pages Web comportant des graphiques Google doivent inclure les lignes suivantes dans la section <head>
de la page Web:
<script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('current', {packages: ['corechart']}); google.charts.setOnLoadCallback(drawChart); ... </script>
La première ligne de cet exemple charge le chargeur lui-même.
Vous ne pouvez charger le chargeur qu'une seule fois, quel que soit le nombre de graphiques que vous prévoyez de dessiner.
Après avoir chargé le chargeur, vous pouvez appeler la fonction google.charts.load
une ou plusieurs fois pour charger des packages pour des types de graphiques spécifiques.
Le premier argument de google.charts.load
est le nom ou le numéro de la version, sous forme de chaîne. Si vous spécifiez 'current'
, la dernière version officielle de Google Charts sera chargée. Si vous souhaitez tester la version candidate pour la prochaine version, utilisez plutôt 'upcoming'
. En général, il y a très peu de différence entre les deux et ils sont complètement identiques, sauf lorsqu'une nouvelle version est en cours de lancement. L'utilisation de upcoming
est souvent utilisée pour tester un nouveau type de graphique ou une nouvelle fonctionnalité que Google s'apprête à publier dans le mois ou les deux prochains mois. (Nous annonçons les versions à venir sur notre forum et nous vous recommandons de les essayer lorsqu'elles seront annoncées, pour vous assurer que toutes les modifications apportées à vos graphiques sont acceptables.)
L'exemple ci-dessus suppose que vous souhaitez afficher un corechart
(barre, colonne, ligne, aire, zone en escalier, bulle, graphique à secteurs, beignet, combinaison, chandelier, histogramme, nuage de points). Si vous souhaitez un type de graphique différent ou supplémentaire, remplacez ou ajoutez le nom de package approprié pour corechart
ci-dessus (par exemple, {packages: ['corechart',
'table', 'sankey']}
. Vous trouverez le nom du package dans la section "Chargement" de la page de documentation de chaque graphique.
Cet exemple suppose également qu'une fonction JavaScript nommée drawChart
est définie quelque part sur votre page Web. Vous pouvez nommer cette fonction comme vous le souhaitez, mais assurez-vous qu'elle est unique et définie avant de la référencer dans votre appel à google.charts.setOnLoadCallback
.
Remarque:Les versions précédentes de Google Charts utilisaient un code différent de celui indiqué ci-dessus pour charger les bibliothèques. Pour mettre à jour vos graphiques existants afin d'utiliser le nouveau code, consultez Mettre à jour le code du composant Loader de la bibliothèque.
Voici un exemple complet de dessin d'un graphique à secteurs à l'aide de la technique de chargement de base:
<head> <script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('current', {packages: ['corechart']}); google.charts.setOnLoadCallback(drawChart); function drawChart() { // Define the chart to be drawn. var data = new google.visualization.DataTable(); data.addColumn('string', 'Element'); data.addColumn('number', 'Percentage'); data.addRows([ ['Nitrogen', 0.78], ['Oxygen', 0.21], ['Other', 0.01] ]); // Instantiate and draw the chart. var chart = new google.visualization.PieChart(document.getElementById('myPieChart')); chart.draw(data, null); } </script> </head> <body> <!-- Identify where the chart should be drawn. --> <div id="myPieChart"/> </body>
Détails du chargement
Vous devez d'abord charger le chargeur lui-même, via une balise script
distincte avec src="https://www.gstatic.com/charts/loader.js"
. Ce tag peut se trouver dans la section head
ou body
du document, ou être inséré dynamiquement dans le document pendant ou après le chargement.
<script src="https://www.gstatic.com/charts/loader.js"></script>
Une fois le chargeur chargé, vous pouvez appeler google.charts.load
.
Vous pouvez l'appeler dans une balise script
du head
ou de l'élément body
du document. Vous pouvez l'appeler pendant ou après le chargement du document.
À partir de la version 45, vous pouvez appeler google.charts.load
plusieurs fois pour charger des packages supplémentaires. Cette méthode est toutefois plus sûre si vous pouvez éviter de le faire. Vous devez fournir le même numéro de version et les mêmes paramètres de langue à chaque fois.
Vous pouvez désormais utiliser l'ancien paramètre d'URL autoload
JSAPI, mais sa valeur doit utiliser une mise en forme JSON et un encodage d'URL stricts. En JavaScript, vous pouvez encoder jsonObject
à l'aide du code suivant : encodeURIComponent(JSON.stringify(jsonObject))
.
Limites
Si vous utilisez des versions antérieures à la version 45, il existe quelques limites mineures, mais importantes, concernant le chargement de Google Charts:
- Vous ne pouvez appeler
google.charts.load
qu'une seule fois. Toutefois, vous pouvez répertorier tous les packages dont vous aurez besoin dans un seul appel. Il n'est donc pas nécessaire d'effectuer des appels distincts. - Si vous utilisez un ChartWrapper, vous devez charger explicitement tous les packages dont vous avez besoin, plutôt que de compter sur ChartWrapper qu'il les charge automatiquement pour vous.
- Pour Geochart et Map Chart, vous devez charger à la fois l'ancien chargeur de bibliothèque et le nouveau. Là encore, cette opération ne concerne que les versions antérieures à la v45. Vous ne devez pas le faire pour les versions ultérieures.
<script src="https://www.gstatic.com/charts/loader.js"></script> <script src="https://www.google.com/jsapi"></script>
Charger le nom ou le numéro de version
Le premier argument de votre appel google.charts.load
est le nom ou le numéro de la version.
Il n'existe que deux noms de version spéciales et plusieurs versions figées pour le moment.
- en cours
- Il s'agit de la dernière version officielle, qui change chaque fois que nous publions une nouvelle version. Cette version est idéalement testée et ne présente aucun bug. Toutefois, vous pouvez spécifier une version figée particulière à la place lorsque vous êtes satisfait de son bon fonctionnement.
- à venir
- Cette version s'applique à la prochaine version, qui est encore en cours de test et avant qu'elle ne devienne la version actuelle officielle. Veuillez tester cette version régulièrement afin d'identifier le plus rapidement possible les problèmes à résoudre avant qu'elle ne devienne la sortie officielle.
Lorsque nous publions de nouvelles versions de Google Charts, certaines modifications sont importantes, comme de nouveaux types de graphiques. D'autres modifications sont mineures, comme des améliorations de l'apparence ou du comportement des graphiques existants.
De nombreux créateurs de graphiques Google ajustent l'apparence de leurs classements jusqu'à ce qu'ils le souhaitent. Certains créateurs se sentiront peut-être plus à l'aise de savoir que leurs classements ne changeront jamais, quelles que soient les améliorations que nous apporterons à l'avenir. Pour ces utilisateurs, nous acceptons les graphiques Google figés.
Les versions des graphiques figés sont identifiées par leur numéro et décrites dans nos Versions officielles.
Pour charger une version figée, remplacez current
ou upcoming
dans votre appel de google.charts.load
par le numéro de la version figée:
<script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('43', {packages: ['corechart']}); google.charts.setOnLoadCallback(drawChart); ... </script>
Les versions figées devraient rester disponibles indéfiniment, même si nous pouvons être amenés à supprimer les versions figées qui présentent des problèmes de sécurité. Nous ne fournissons généralement pas d'assistance pour les versions figées, sauf pour vous suggérer inutilement une mise à niveau vers une version plus récente.
Charger les paramètres
Le deuxième paramètre de votre appel de google.charts.load
est un objet permettant de spécifier des paramètres. Les propriétés suivantes sont prises en charge pour les paramètres.
- colis
- Tableau contenant zéro, un ou plusieurs packages. Chaque package chargé contiendra le code requis pour prendre en charge un ensemble de fonctionnalités, généralement un type de graphique. Le ou les packages que vous devez charger sont répertoriés dans la documentation de chaque type de graphique. Vous pouvez éviter de spécifier des packages si vous utilisez ChartWrapper pour charger automatiquement les éléments nécessaires.
- language
- Code de la langue ou des paramètres régionaux à utiliser pour personnaliser le texte susceptible de figurer dans le graphique. Pour en savoir plus, consultez la section Paramètres régionaux.
- rappel
- Fonction qui sera appelée une fois les packages chargés. Vous pouvez également spécifier cette fonction en appelant
google.charts.setOnLoadCallback
, comme illustré dans l'exemple ci-dessus. Pour en savoir plus, consultez la section Rappel.google.charts.load('current', { packages: [ 'corechart'], callback: drawChart });
- mapsApiKey
- (v45) Ce paramètre vous permet de spécifier une clé à utiliser avec Geochart et Map Chart.
Nous vous recommandons de procéder ainsi plutôt que d'utiliser le comportement par défaut, ce qui peut entraîner une limitation occasionnelle du service pour vos utilisateurs.
Découvrez comment configurer votre propre clé pour utiliser le service "API Google Maps JavaScript" :
Obtenir une clé/authentification. Votre code doit ressembler à ceci :
var myMapsApiKey = 'SomeMagicToSetThis'; google.charts.load('45', { packages: [ 'geochart'], mapsApiKey: myMapsApiKey });
- safeMode
- (v47) Lorsque cette valeur est définie sur "true", tous les graphiques et les info-bulles qui génèrent du code HTML à partir de données fournies par l'utilisateur les nettoient en supprimant les éléments et attributs dangereux.
Il est également possible (version 49 ou ultérieure) de charger la bibliothèque en mode sans échec à l'aide d'un raccourci qui accepte les mêmes paramètres de chargement, mais charge toujours la version "actuelle" :
google.charts.safeLoad({ packages: ['corechart'] });
Paramètres régionaux
Les paramètres régionaux permettent de personnaliser le texte en fonction d'un pays ou d'une langue, ce qui affecte la mise en forme des valeurs telles que les devises, les dates et les nombres.
Par défaut, Google Charts est chargé avec les paramètres régionaux "en". Vous pouvez remplacer cette valeur par défaut en spécifiant explicitement des paramètres régionaux dans les paramètres de chargement.
Pour charger un graphique mis en forme pour des paramètres régionaux spécifiques, utilisez le paramètre language
comme suit:
// Load Google Charts for the Japanese locale. google.charts.load('current', {'packages':['corechart'], 'language': 'ja'});
Cliquez sur ce lien pour consulter un exemple en ligne.
Rappel
Avant de pouvoir utiliser l'un des packages chargés par google.charts.load
, vous devez attendre la fin du chargement. Il ne suffit pas d'attendre la fin du chargement du document. Comme ce chargement peut prendre un certain temps, vous devez enregistrer une fonction de rappel. Il existe trois façons d'y parvenir. Spécifiez un paramètre callback
dans votre appel google.charts.load
, appelez setOnLoadCallback
en transmettant une fonction en tant qu'argument, ou utilisez la promesse renvoyée par l'appel de google.charts.load
.
Notez que, quelle que soit la méthode employée, vous devez fournir une définition de fonction, plutôt que de l'appeler. La définition de fonction que vous fournissez peut être une fonction nommée (donc il vous suffit de donner son nom) ou une fonction anonyme. Une fois le chargement des packages terminé, cette fonction de rappel est appelée sans argument. Le chargeur attend également la fin du chargement du document avant d'appeler le rappel.
Si vous souhaitez dessiner plusieurs graphiques, vous pouvez enregistrer plusieurs fonctions de rappel à l'aide de setOnLoadCallback
ou les combiner en une seule fonction.
Découvrez comment
dessiner plusieurs graphiques sur une seule page.
google.charts.setOnLoadCallback(drawChart1); google.charts.setOnLoadCallback(drawChart2); // OR google.charts.setOnLoadCallback( function() { // Anonymous function that calls drawChart1 and drawChart2 drawChart1(); drawChart2(); });
Rappel via Promise
Une autre façon d'enregistrer votre rappel consiste à utiliser la promesse renvoyée par l'appel google.charts.load
. Pour ce faire, ajoutez un appel à la méthode then()
avec un code semblable à ce qui suit.
google.charts.load('upcoming', {packages: ['corechart']}).then(drawChart);
L'un des avantages de la promesse est que vous pouvez facilement dessiner d'autres graphiques en enchaînant plus d'appels .then(anotherFunction)
.
L'utilisation de la promesse lie également le rappel aux packages spécifiques requis pour ce rappel, ce qui est important si vous souhaitez charger d'autres packages avec un autre appel de google.charts.load()
.
Mettre à jour le code du chargeur de bibliothèque
Les versions précédentes de Google Charts utilisaient un code différent pour charger les bibliothèques. Le tableau ci-dessous compare l'ancien code du chargeur de bibliothèque au nouveau.
Ancien code du chargeur de bibliothèque |
---|
<script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); </script> |
Nouveau code du chargeur de bibliothèque |
<script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('current', {packages: ['corechart']}); google.charts.setOnLoadCallback(drawChart); </script> |
Pour mettre à jour vos graphiques existants, vous pouvez remplacer l'ancien code du chargeur de bibliothèque par le nouveau. Gardez toutefois à l'esprit les limites de chargement des bibliothèques décrites ci-dessus.