Maison > interface Web > js tutoriel > Graphiques JavaScript interactifs à l'aide de données de Google Sheets

Graphiques JavaScript interactifs à l'aide de données de Google Sheets

Christopher Nolan
Libérer: 2025-02-18 10:57:13
original
742 Les gens l'ont consulté

Graphiques JavaScript interactifs à l'aide de données de Google Sheets

Les plats clés

  • Les graphiques JavaScript interactifs peuvent être créés à l'aide de données à partir de feuilles Google, offrant une mise à jour dynamique chaque fois que des modifications sont apportées aux données de la feuille de calcul.
  • Le processus consiste à exporter des données à partir de feuilles Google en tant que JSON, à récupérer ces données via AJAX, à restructurer les données pour correspondre au format requis, à créer un graphique avec un outil tel que FusionCharts et à personnaliser le graphique pour répondre aux besoins spécifiques.
  • FusionCharts accepte les données JSON comme un tableau d'objets contenant des clés d'étiquette et de valeur, et le graphique peut être personnalisé en termes de type, de hauteur, de largeur, d'étiquettes et de source de données.
  • Bien que Google Sheets soit une source de données pratique et accessible, d'autres sources peuvent également être utilisées pour créer des graphiques JavaScript, et les données peuvent être mises à jour en temps réel avec un mécanisme de sondage.

Cet article a été revu par des pairs par Jeff Smith. Merci à tous les pairs examinateurs de SitePoint pour avoir fait du contenu SitePoint le meilleur possible!

Rencontrez mon amie Jenny. Elle a récemment commencé à coder des sites Web. Elle aimait son travail et était très heureuse jusqu'à ce qu'elle rencontre Steve, qui a la réputation d'être, disons, pas un client très décontracté.

Steve avait beaucoup de données dans une feuille de calcul et il voulait l'afficher sur son site Web. Notre ami (maintenant Jenny est aussi votre ami!) A suggéré que Steve fasse les graphiques dans Excel et les télécharger comme images sur le site Web.

Mais Steve étant Steve, il voulait que les graphiques soient interactifs. Non seulement cela, il voulait également que les graphiques soient mis à jour chaque fois qu'il apportait les données de sa feuille de calcul.

Jenny ne savait pas comment résoudre ce problème, alors elle est venue me voir. Et, étant le bon ami que je suis, je lui ai donné ce conseil:

Demandez d'abord à votre client de déplacer ses données sur Google Sheets (parce que c'est ce que toutes les personnes cool font de nos jours). Ensuite, nous pouvons facilement implémenter les fonctionnalités dont il a besoin - les graphiques JavaScript interactifs et la mise à jour dynamique.

son client a accepté (heureusement!), Et Jenny et moi avons codé le reste de la solution. Mais comment? Eh bien, c'est ce que ce tutoriel vous apprendra.

J'ai divisé ce tutoriel en cinq étapes faciles à suivre:

  1. Exporter des données de Google Sheets
  2. Récupérer JSON à partir de feuilles Google via Ajax
  3. restructuration des données
  4. Création d'un graphique avec FusionCharts.
  5. Personnalisation du graphique

donc sans plus tarder, plongeons-nous!

Exporter les données Google Sheets comme JSON

Avant de plonger dans la façon d'exporter des données, créons d'abord une feuille. En supposant que vous avez un compte Google, vous pouvez le faire en accédant à la page Google Sheets et en appuyant sur le bouton Démarrer un nouveau feuille de calcul . Dans la feuille de calcul qui s'ouvre, créez deux colonnes: acteur et revenu . Ensuite, remplissez votre feuille nouvellement créée avec certaines données. J'ai pris le mien d'ici: les acteurs les mieux payés du monde 2015.

Comme vous pouvez le voir, la colonne de gauche contient des étiquettes pour notre graphique, la droite des valeurs correspondant à ces étiquettes. Pour ceux d'entre vous qui suivent à la maison, vous pouvez prendre une copie de cette feuille ici (allez dans fichier > faire une copie ).

Les données disponibles dans Google Sheets peuvent être exportées vers plusieurs formats comme JSON, XML etc. et une fois exportés vers l'un de ces formats, il peut être facilement accessible via le Web.

Pour ouvrir votre document sur le Web, vous devez apporter les modifications suivantes aux paramètres du document:

  • Définissez le partage du document sur public sur le web , ou quiconque avec le lien . Pour y parvenir, cliquez sur le bouton Partager dans le coin supérieur droit, puis cliquez sur l'option Advanced qui apparaît en bas à droite de la pop up.
  • Publiez le document sur le Web. Cette option est disponible sous fichier > publier sur le web

Avec ces deux modifications apportées, les données du document sont accessibles au format JSON via: https://spreadsheets.google.com/feeds/list/spreadsheet/od6/public/basic?alt=json

Vous devrez remplacer la feuille de calcul par l'ID de votre feuille Google, qui dans notre cas est 1aoz_gcpyoeimmnd1n_meynop8tj0fcxpp1aouhcpwzo. Vous pouvez voir les résultats ici.

Utilisation de jQuery pour récupérer JSON à partir de Google Sheets

Nous utiliserons la méthode get () de jQuery pour récupérer les données de Google Sheets. Vous pouvez inclure jQuery à partir d'un CDN comme indiqué:

<span><span><span><script</span> type<span>="text/javascript"</span> src<span>="https://code.jquery.com/jquery-1.12.0.min.js"</span>></span><span><span></script</span>></span>
</span>
Copier après la connexion
Copier après la connexion

Avec la balise ajoutée, appelez $ .get sur l'URL de la feuille de calcul que nous avons créée.

<span>var spreadsheetId = "1Aoz_GcPYoEIMMNd1N_meYNOp8TJ0fCXpp1AoUhCpwZo",
</span>    url <span>= "https://spreadsheets.google.com/feeds/list/" +
</span>          spreadsheetId <span>+
</span>          <span>"/od6/public/basic?alt=json";
</span>
$<span>.get({
</span>  <span>url: url,
</span>  <span>success: function(response) {
</span>    <span>console.log(response);
</span>  <span>}
</span><span>});
</span>
Copier après la connexion
Copier après la connexion

Le code jQuery ci-dessus fait une demande ajax à l'URL de Google Sheets, et après avoir réussi à récupérer les données, il appelle la fonction de réussite. Cette fonction enregistre les données renvoyées du serveur vers la console. Je vous encourage à exécuter ce script et à prendre un moment pour examiner exactement ce qui est retourné.

restructuration des données

Les données JSON de Google Sheets doivent être un peu restructurées pour correspondre au format de données accepté par notre bibliothèque de visualisation. Pour ce tutoriel, nous utiliserons FusionCharts.

FusionCharts accepte les données JSON comme un tableau d'objets contenant des clés d'étiquette et de valeur. Voici à quoi ça ressemble:

<span>[{
</span>  <span>"label": "Robert Downey Jr.",
</span>  <span>"value": "80"
</span><span>}
</span><span>...]
</span>
Copier après la connexion
Copier après la connexion

Pour y parvenir, nous devons exécuter un morceau de code suivant dans le rappel de réussite de la fonction jQuery Get que nous avons définie plus tôt.

<span>var data = response.feed.entry,
</span>    len <span>= data.length,
</span>    i <span>= 0,
</span>    parsedData <span>= [];
</span>
<span>for (i = 0; i < len; i++) {
</span>  parsedData<span>.push({
</span>    <span>label: data[i].title.$t,
</span>    <span>value: data[i].content.$t.replace('Income: ', '')
</span>  <span>});
</span><span>}
</span>
Copier après la connexion

Ce que nous faisons ici, c'est d'itérer chaque objet de données Google Sheet présente en réponse.feed.entry et d'extraire l'étiquette et la valeur. Ensuite, nous les stockons dans un nouveau tableau parseddata, qui sera utilisé par le graphique.

L'étiquette est disponible dans la touche de titre. $ T et la valeur est disponible dans le contenu. $ T Clé de l'objet de données. La valeur contient cependant le nom de la colonne de feuille, ce qui n'est pas nécessaire, donc nous le supprimons. Le reste des données de la feuille Google n'est pas nécessaire pour la visualisation.

Le tableau ParsedData contient désormais des données dans un format qui sera compris par FusionCharts et nous pouvons continuer à créer la visualisation.

Étape-3: Création du graphique

Maintenant, avec nos données prêtes et accessibles, nous pouvons passer à la création de graphiques. La création du graphique implique les étapes suivantes:

  • Création d'un à l'intérieur de laquelle le graphique sera rendu.
  • Création d'une instance FusionCharts en utilisant les données analysées de la feuille Google.
  • Appeler la méthode de rendu sur l'instance FusionCharts pour le rendre dans la div.

Dans le balisage, nous incluons la bibliothèque FusionCharts via un CDN:

<span><span><span><script</span> type<span>="text/javascript"</span> src<span>="https://code.jquery.com/jquery-1.12.0.min.js"</span>></span><span><span></script</span>></span>
</span>
Copier après la connexion
Copier après la connexion

ainsi qu'un élément contenant pour le graphique. Cela peut contenir un texte de support de place qui s'affiche avant que le graphique ne rende.

<span>var spreadsheetId = "1Aoz_GcPYoEIMMNd1N_meYNOp8TJ0fCXpp1AoUhCpwZo",
</span>    url <span>= "https://spreadsheets.google.com/feeds/list/" +
</span>          spreadsheetId <span>+
</span>          <span>"/od6/public/basic?alt=json";
</span>
$<span>.get({
</span>  <span>url: url,
</span>  <span>success: function(response) {
</span>    <span>console.log(response);
</span>  <span>}
</span><span>});
</span>
Copier après la connexion
Copier après la connexion

Pour créer et rendre un graphique à barres horizontal de base en # graphique-container, nous ajouterons le code suivant au Success Rappel:

<span>[{
</span>  <span>"label": "Robert Downey Jr.",
</span>  <span>"value": "80"
</span><span>}
</span><span>...]
</span>
Copier après la connexion
Copier après la connexion

Examinons certaines des options de configuration que nous avons définies pour le graphique:

  • Type: définit le type de graphique que nous allons tracer - Bar2d dans cet exemple.
  • Hauteur: hauteur du graphique en pixels.
  • Largeur: Largeur du graphique.
  • Graphique: Ici, nous pouvons définir des choses comme le titre, les étiquettes pour les deux axes, un préfixe de valeur, etc.
  • Données: les données à partir desquelles les données seront construites.

Et voici une démo de ce que nous avons jusqu'à présent:

Voir les graphiques JavaScript Pen Google Sheets par SitePoint (@SitePoint) sur Codepen.

Personnalisation du graphique

Alors que la démo ci-dessus fonctionne, elle semble peut-être un peu générique. Heureusement, vous pouvez personnaliser presque tous les aspects de l'apparence d'un graphique. FusionCharts a une excellente documentation, que je vous suggère de consulter.

Voici le même graphique personnalisé pour ressembler un peu plus, ahem, attrayant.

Voir les graphiques JavaScript Pen Google Sheets (2) par SitePoint (@SitePoint) sur Codepen.

Conclusion

Comme vous l'avez vu, il n'est pas si difficile de créer un graphique en direct à partir de Google Sheets. Les graphiques JavaScript en direct peuvent même être générés pour des types de graphiques complexes, ces graphiques multi-séries. La seule chose qui doit être élaborée pour des graphiques complexes est de savoir comment restructurer les données des feuilles Google au format accepté par le graphique. Tout le reste reste le même.

  • Pour plus d'informations sur la façon de travailler avec les données de Google Sheets, consultez la documentation de Google.
  • J'ai utilisé un graphique à barres de base pour ce tutoriel, mais si vous voulez quelque chose de différent, consultez différents types de graphiques disponibles ici.

PS: Je vais traîner dans la section des commentaires ci-dessous, alors n'hésitez pas à poser toutes les questions que vous avez sur ce tutoriel. Je suis plus heureux d'aider!

Questions fréquemment posées (FAQ) sur les graphiques JavaScript interactifs à l'aide de données de Google Sheets

Comment puis-je créer des graphiques JavaScript interactifs à l'aide de données de Google Sheets?

La création de graphiques JavaScript interactifs à l'aide de données de Google Sheets implique plusieurs étapes. Tout d'abord, vous devez configurer votre API Google Sheets. Cela implique la création d'un nouveau projet dans la console Google Cloud, l'activation de l'API Sheets et la création d'identification. Une fois que vous avez votre clé API, vous pouvez l'utiliser pour accéder à vos données Google Sheets. Ensuite, vous devez créer votre graphique à l'aide de JavaScript. Il existe plusieurs bibliothèques disponibles pour cela, telles que Chart.js, HighCharts et Google Charts. Vous pouvez utiliser ces bibliothèques pour créer une variété de types de graphiques, y compris des graphiques à barres, des graphiques de ligne et des graphiques à tarte. Enfin, vous devez connecter votre graphique à vos données Google Sheets. Cela implique de récupérer les données de Google Sheets à l'aide de la clé API, d'analyser les données dans un format que votre bibliothèque de graphique peut comprendre, puis de mettre à jour le graphique avec les données.

Quels sont les problèmes courants lors de la création de JavaScript interactif. Les graphiques utilisant des données de Google Sheets?

Certains problèmes courants lors de la création de graphiques JavaScript interactifs utilisant des données de Google Sheets incluent des problèmes avec la clé API, les problèmes de récupération des données et les difficultés avec l'analyse des données. Si votre clé API n'est pas configurée correctement, vous ne pourrez peut-être pas accéder à vos données Google Sheets. Si vous avez du mal à récupérer les données, cela peut être dû à des problèmes de réseau ou à des problèmes avec l'API Google Sheets. Si vous rencontrez des problèmes d'analyse des données, cela peut être dû au fait que les données sont dans un format que votre bibliothèque de graphiques ne peut pas comprendre. Pour résoudre ces problèmes, vous devez vérifier votre clé API, tester votre connexion réseau et vous assurer que vos données sont dans un format compatible.

Puis-je utiliser d'autres sources de données en plus de feuilles Google pour mes graphiques JavaScript?

Oui, vous pouvez utiliser d'autres sources de données en plus des feuilles Google pour vos graphiques JavaScript. La plupart des bibliothèques de graphiques, y compris Chart.js, HighCharts et Google Charts, peuvent accepter des données dans une variété de formats, notamment JSON, CSV et XML. Vous pouvez récupérer ces données à partir d'une variété de sources, y compris des bases de données, des API et des fichiers locaux. Cependant, l'utilisation de Google Sheets comme source de données présente plusieurs avantages, notamment une configuration facile, des mises à jour en temps réel et la possibilité de partager et de collaborer sur les données.

Comment puis-je mettre à jour mon tableau JavaScript en temps réel avec les données de Google Sheets?

Pour mettre à jour votre tableau JavaScript en temps réel avec les données de Google Sheets, vous devez configurer un mécanisme de sondage. Cela implique de récupérer périodiquement les données de Google Sheets et de mettre à jour le graphique avec les nouvelles données. Vous pouvez le faire en utilisant la fonction SetInterval de JavaScript, qui vous permet d'exécuter une fonction à des intervalles spécifiés. Dans la fonction, vous obtiendrez les données de Google Sheets, l'analyse dans un format que votre bibliothèque de graphique peut comprendre, puis mettre à jour le graphique avec les nouvelles données.

Puis-je partager mon graphique JavaScript interactif avec d'autres avec d'autres ?

Oui, vous pouvez partager votre tableau JavaScript interactif avec d'autres. La plupart des bibliothèques de graphiques, y compris Chart.js, HighCharts et Google Charts, vous permettent d'exporter votre graphique en tant qu'image ou PDF. Vous pouvez ensuite partager ce fichier avec d'autres. Alternativement, si votre graphique est hébergé sur une page Web, vous pouvez simplement partager l'URL de la page. Si vous utilisez Google Sheets comme source de données, vous pouvez également partager le document Google Sheets avec d'autres, ce qui leur permet de visualiser et de modifier les données.

Comment puis-je personnaliser l'apparence de mon graphique JavaScript?

Vous pouvez personnaliser l'apparence de votre tableau JavaScript à l'aide des options fournies par votre bibliothèque de graphiques. La plupart des bibliothèques de graphiques, y compris Chart.js, HighCharts et Google Charts, vous permettent de personnaliser une variété d'aspects de votre graphique, y compris les couleurs, les polices, les étiquettes et les info-bullets. Vous pouvez également ajouter des fonctionnalités interactives, telles que le zoom et le paning, et les animations.

Comment puis-je ajouter de l'interactivité à mon graphique JavaScript?

Vous pouvez ajouter de l'interactivité à votre graphique JavaScript en utilisant les options fournies par votre bibliothèque de graphiques. La plupart des bibliothèques de graphiques, y compris Chart.js, HighCharts et Google Charts, vous permettent d'ajouter des fonctionnalités interactives, telles que les infractions, le zoom et le panoramique et les animations. Vous pouvez également ajouter des écouteurs d'événements à votre graphique, vous permettant d'exécuter une fonction lorsque l'utilisateur interagit avec le graphique d'une certaine manière, comme cliquer sur un point de données.

Puis-je utiliser des graphiques JavaScript dans mon mobile. App?

Oui, vous pouvez utiliser des graphiques JavaScript dans votre application mobile. La plupart des bibliothèques de graphiques, y compris Chart.js, HighCharts et Google Charts, sont compatibles avec les appareils mobiles. Cependant, vous devrez peut-être effectuer des ajustements pour vous assurer que votre graphique s'affiche correctement sur les écrans plus petits. Cela peut impliquer d'ajuster la taille du graphique, la disposition des éléments et les interactions tactiles.

Comment puis-je déboguer les problèmes avec mon graphique JavaScript?

Vous pouvez déboguer les problèmes avec votre javascript Tableau à l'aide des outils de développeur de votre navigateur Web. Ces outils vous permettent d'inspecter les éléments de votre graphique, de consulter le journal de la console et de parcourir votre code JavaScript. Si vous rencontrez des problèmes avec vos données Google Sheets, vous pouvez également utiliser le Google Sheets API Explorer pour tester vos demandes d'API.

Comment puis-je optimiser les performances de mon graphique JavaScript?

Vous pouvez optimiser les performances de votre graphique JavaScript en minimisant la quantité de données que vous récupérez à partir de Google Sheets, en optimisant votre code JavaScript et en utilisant les performances Caractéristiques de votre bibliothèque de graphiques. Rechercher de grandes quantités de données peut ralentir votre graphique, alors essayez de récupérer uniquement les données dont vous avez besoin. Vous pouvez également optimiser votre code JavaScript en évitant les calculs inutiles et en utilisant des algorithmes efficaces. La plupart des bibliothèques de graphiques, y compris Chart.js, HighCharts et Google Charts, fournissent également des fonctionnalités de performances, telles que le chargement paresseux et l'accélération matérielle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal