Fermer

juillet 30, 2019

Introduction à la visualisation de données avec Vue et D3.js –


Les applications Web sont normalement pilotées par les données et il est souvent nécessaire de visualiser ces données. C’est là que les graphiques et les graphiques entrent en jeu. Ils facilitent la transmission d’informations, ainsi que la démonstration de corrélations ou de relations statistiques. Les informations présentées sous forme de graphique ou de graphique sont également plus faciles à comprendre pour un locuteur non natif.

Dans ce didacticiel, nous allons apprendre à visualiser des données dans un projet Vue. Pour ce faire, nous utiliserons la bibliothèque très répandue D3.js, qui combine de puissants composants de visualisation et une approche de la manipulation DOM basée sur les données.

Commençons par le début.

Remarque: le code de ce tutoriel. peut être trouvé sur GitHub .

Qu'est-ce que D3?

Comme vous pouvez le lire sur la page d'accueil du projet D3.js est une bibliothèque JavaScript permettant de manipuler des documents Les données. D3 vous aide à donner vie aux données en utilisant HTML, SVG et CSS. L’accent mis sur les standards du Web vous donne toutes les capacités des navigateurs modernes sans vous lier à un cadre propriétaire.

Alors que la plupart des gens se réfèreront à D3.js en tant que bibliothèque de visualisation de données, ce n’est pas . D3 est plutôt un framework comprenant différentes parties – telles que les parties jQuery (qui nous aident à sélectionner et manipuler les éléments DOM), les parties Lodash, les parties d'animation, les parties d'analyse des données et les parties de visualisation des données.

Dans ce didacticiel, nous allons travailler avec l'aspect de visualisation de D3. La qualité réelle de D3 lors de la visualisation de données est:

  • la disponibilité de fonctions de décoration de données avec des instructions de dessin
  • créant de nouvelles données pouvant être extraites à partir de données sources
  • générant des chemins SVG
  • créant des éléments de visualisation de données (comme un axe) ) dans le DOM à partir de vos données et méthodes

Ce que nous allons construire

Nous souhaitons créer une application permettant aux utilisateurs de rechercher un référentiel sur GitHub, puis d'obtenir une représentation visuelle des problèmes ouverts la semaine dernière. sont toujours ouverts. Le résultat final ressemblera à ceci:

 Graphique final

Prérequis

Ce tutoriel suppose que vous avez une connaissance pratique de Vue . Une connaissance préalable de D3.js n’est pas nécessaire, mais si vous souhaitez vous mettre au diapason rapidement, vous voudrez peut-être lire notre D3 par exemple dans le tutoriel .

Vous aurez également besoin de avoir le nœud installé sur votre système. Vous pouvez le faire en téléchargeant les fichiers binaires de votre système sur le site Web officiel ou en utilisant un gestionnaire de version .

Enfin, nous utiliserons les packages suivants pour construire notre app:

  • Vue CLI – échafauder le projet
  • D3.js – visualiser nos données
  • Lodash – qui fournit une poignée de méthodes utilitaires
  • Moment JS – pour la mise en forme de la date et de l'heure
  • axios – un client HTTP pour nous aider à adresser des requêtes à un API externe

New Vue Project

Je préfère créer de nouveaux projets Vue à l'aide de Vue CLI. (Si vous n'êtes pas familier avec Vue CLI, notre guide du débutant de cette série Vue en présente une introduction complète.) Vue CLI fournit une belle structure de dossiers permettant de placer différentes sections du code, telles que les styles, les composants, etc. 19659003] Assurez-vous que l'interface de ligne de commande est installée sur votre machine:

 npm install -g @ vue / cli

Créez ensuite un nouveau projet avec la commande suivante:

 vue create issues-visualization

Remarque: lors de la création d'un nouveau projet à l'aide de Vue CLI, vous serez invité à choisir un préréglage. Pour ce projet particulier, nous allons nous en tenir à la valeur par défaut (Babel + ESLint).

Une fois notre nouveau projet Vue créé, nous cd dans le dossier du projet et nous ajoutons les divers modules de nœuds dont nous aurons besoin:

 npm install lodash d3 axios moment

Même s’il s’agit d’une application simple ne comportant pas beaucoup de parties en cours d’exécution, nous continuerons d’utiliser l’approche par composants au lieu de vider tout le code contenu dans le fichier App.vue . Nous allons avoir deux composants, le composant App et un composant Chart que nous n'avons pas encore créé.

Le composant App gérera récupérer les données de GitHub, puis les transmettre au composant Chart en tant qu'accessoires. Le dessin réel du graphique aura lieu à l'intérieur du composant Chart . Cette structuration présente l’avantage que, si vous souhaitez utiliser une bibliothèque autre que axios pour récupérer les données, il sera plus facile de les échanger. En outre, si vous souhaitez permuter D3 pour une autre bibliothèque de graphiques, ce sera aussi plus facile.

Création de l'interface de recherche

Nous allons commencer par créer une interface de recherche permettant aux utilisateurs de saisir le nom du référentiel qu'ils ont choisi. voulez voir visualisé.

Dans src / App.vue débarrassez-vous de tout ce qui se trouve à l'intérieur de la balise