JPO : Webinar d'information sur nos formations → RDV mardi à 17h30.

Réaliser de la data-visualisation grâce à Plotly

plotly

Il est bon de savoir que Plotly, avant d’être une librairie Python très connue, est une entreprise basée à Montréal qui a été fondée par quatre personnes. Son objectif est de développer des outils de visualisation ainsi que d’analyser des données. Dans cet article, nous nous intéresserons en particulier à la librairie Python plotly.

Quelles autres outils propose Plotly ?

Les productions de la société sont diverses et variées. Le framework Python Dash, qui permet de développer des applications web, en fait partie. Elle propose des applications web déployées à travers un navigateur web permettant de partager de la visualisation de données en ligne. Chart studio est un autre exemple d’outils créé par l’entreprise. Il s’agit d’une infrastructure logicielle permettant de stocker des graphiques sur une interface de manière publique ou privée. Le mode public met à la disponibilité de tous les utilisateurs différents graphiques préconçus pouvant être téléchargés.

Parmi les différents outils et librairies que Plotly fournit dans le domaine des statistiques et de l’analyse de données, nous allons, dans la suite de cet article, nous pencher sur la fameuse librairie Plotly.

Quelles sont les librairies que propose Plotly pour la data-visualisation ?

1. Comparaison avec matplotlib

Grâce au développement de différentes API, Plotly est une bibliothèque disponible dans plusieurs langages de programmation, notamment dans Python (plotly.py), dans Java (plotly.js), R, Julia, Matlab, etc. Elle permet de réaliser des graphes complexes et variés. Par la suite, nous allons nous intéresser à Plotly en langage Python car il est le langage le plus populaire en Machine Learning, en plus d’être un des plus faciles à prendre en main. 

Cependant, dans ce langage, il existe déjà une librairie graphique, bien plus ancienne que Plotly, nommée Matplotlib. Celle-ci permet également de créer des graphiques divers en quelques lignes de codes et semble être plutôt exhaustive.

La question qu’on pourrait se poser alors est, en quoi Plotly se différencie-t-elle de Matplotlib ? Quelle est la plus-value de Plotly ?

La réponse se trouve dans les modes supplémentaires que proposent Plotly. En effet, à l’inverse de Matplotlib, Plotly est une librairie collaborative et interactive. Grâce à Chart studio, elle propose un service web et un mode collaboratif qui, comme cité au-dessus, permet de télécharger et d’enregistrer des graphiques de données sur un compte personnel. C’est l’interaction avec les différents serveurs de Plotly qui permet la création de ce service web et le mode collaboratif. Mais il est toutefois possible d’activer un mode (en important le package offline) qui permet d’empêcher la diffusion des graphiques sur le cloud et de les rendre accessibles seulement sur le local. Ainsi, la connexion entre les différents serveurs Plotly est interrompue et le mode collaboratif arrêté. 

De plus, la visualisation de la Data avec Plotly est plus évoluée que celle avec Matplotlib. Elle propose la création de plus de 40 types de graphiques très variés allant de graphiques classiques à des graphiques interactifs, des animations ou encore des graphes en 3D.

Hormis la grande simplicité d’utilisation et l’importante capacité de personnalisation des graphiques, un autre grand avantage de Plotly est l’aptitude à détecter les valeurs aberrantes d’une base de données même dans le cas où cette dernière est très conséquente. En effet, avec Plotly il est possible de bénéficier des informations sur les données en simplement pointant la souris sur le graphe. Ainsi, par une lecture du graphique, on peut repérer et récupérer les valeurs aberrantes.

2. Les Sous librairies de Plotly

Dans cette partie, nous allons présenter quelques librairies importantes de Plotly, dont chacune permet d’utiliser des outils supplémentaires.

  • plotly.offline est une librairie qui permet de garder les graphes dans votre ordinateur local et de les générer offline en les ouvrant sur votre web browser.
  • plotly.plotly est une sous-librairie qui a pour rôle d’établir le lien entre Plotly et votre machine locale. Elle est, en d’autres termes, une interface contenant les fonctions exécuter selon les commandes du serveur Plotly.
  • plotly.graph.objects fournit des objets qui contribue à la réalisation de tracés sur les graphiques. Elle permet de personnaliser vos graphes.
  •  plotly.express permet d’afficher nos graphiques immédiatement.

plotly.tools fournit divers outils supplémentaires. A titre d’exemple, elle permet de créer des subplots soit un ensemble de sous-graphiques.

3. Démonstration du fonctionnement de Plotly

Afin de mieux comprendre le fonctionnement de Plotly, nous allons à présent chercher à visualiser des données à travers un exemple concret. Pour cette étape, nous disposons d’une base de données sous forme de fichier csv, donnant accès à des informations de l’année 2016 sur le système de location de vélo à Chicago appelé Divvy.

Hist matplotlib vs plotly

On observe ci-dessous 2 histogrammes simples qui affiche les différents types de déplacements à Montréal.

Le premier est un graphique de Matplotlib et le deuxième un histogramme de Plotly.

On remarque que les graphiques sont assez similaires. La différence majeure est la disposition de plusieurs boutons visibles en haut, à droite du graphe créé avec Plotly. En guise d’exemple, la première icône permet de télécharger directement le graphique, ce qui permet d’avoir une image de meilleure qualité que si elle avait été enregistrée autrement.

Sur l’image ci-dessus, la deuxième icône montre qu’il s’agit d’un bouton disponible pour zoomer sur l’histogramme. Le reste des options sont d’autres fonctionnalités permettant l’interaction avec l’utilisateur.

Les Maps avec Plotly

Avec Plotly, il est possible de créer des cartes pour visualiser la cartographie du globe terrestre, d’un continent, ou encore d’une ville. Les Heatmap, par exemple, sont des figures thermiques qui représentent les données sous forme de couleur en fonction de leur fréquence ou position. Les couleurs sont visibles sur une frise sous forme de dégrader. À titre d’exemple, lors de la réalisation d’un map montrant les fréquences de nos données, plus la valeur d’une donnée est fréquente, et plus sa couleur sur la frise va s’éloigner de la valeur rare.

Dans notre cas pratique, nous allons chercher à afficher, à l’aide de deux droites tracées sur un mapbox, les deux plus grands trajets réalisés en vélo. Soit, en d’autres termes, les trajets où le point de départ et le point d’arrivée sont les plus éloignés sur un plan géographique.

Comme mentionné plus haut, en pointant la souris sur les données visibles sur la carte, il est possible d’avoir plus d’informations sur les données en question. Dans les deux images ci-dessous, on lit la latitude et la longitude des deux points sélectionnés.

Les graphes 3D

Les graphiques 3D, qui sont aisément réalisables avec Plotly, permettent de fournir de nombreuses informations à l’aide d’une seule représentation graphique. Ci-dessous, on observe la distribution d’un échantillon de stations de vélos utilisées par des personnes par rapport à leur longitude et leur latitude. Les stations sont dans la troisième dimension réparties par rapport à leur utilisation mensuelle. Elles sont représentées par des points plus ou moins importants selon la fréquence de leurs usages. De plus, une station est représentée en rouge si la station est le plus fréquentée par les hommes et en bleue si ce sont les femmes.

Les graphiques en 3D sont amovibles. Ils peuvent être pivotés et zoomés dans tous les sens pour avoir différentes prises de vues, selon le besoin. Voici deux exemples en image.

Ci-dessous, l’axe représentant les mois de l’année est mis en évidence.

La Création d’un menu déroulant avec Plotly

Il est possible de modifier un graphique grâce à un menu déroulant permettant de spécifier ce que l’on cherche à observer. Avec la librairie widgets, il a été possible de réaliser le schéma ci-dessous permettant d’afficher la durée des trajets réalisés par les utilisateurs selon les jours et les différents mois.

Le menu permet de sélectionner la station de départ des trajets, la météo du jour où les trajets ont été réalisés et le mois où ils ont eu lieu. Le découpage de l’histogramme en jours peut être coché ou non.

Résultat après l'utilisation de Plotly

Plotly est, sans équivoque, un outil crucial dans le domaine de la visualisation de données. Plutôt facile à prendre en main, il permet de réaliser des graphiques complexes et élaborés dans l’objectif de bien représenter les données et de les rendre compréhensibles.

Facebook
Twitter
LinkedIn

Tag de l'article :

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone

S'inscrire à la JPO :

Vous souhaitez recevoir notre newsletter data 💌 hebdomadaire ?