Le Python Package Index possède des bibliothèques pour pratiquement tous les besoins en matière de visualisation de données – de Pastalog pour les visualisations en temps réel de l’entraînement des réseaux neuronaux à Gaze Parser pour la recherche sur les mouvements oculaires. Certaines de ces bibliothèques peuvent être utilisées quel que soit le domaine d’application, mais beaucoup d’entre elles sont intensément axées sur l’accomplissement d’une tâche spécifique.
Un aperçu de 11 bibliothèques interdisciplinaires de visualisation de données Python, des plus populaires aux moins populaires suit.
Matplotlib
La bibliothèque Python Matplotlib est utilisée pour générer des visualisations simples mais puissantes. Vieille de plus d’une décennie, c’est la bibliothèque de traçage la plus utilisée dans la communauté Python. Matplotlib est utilisé pour tracer un large éventail de graphiques – des histogrammes aux diagrammes de chaleur.
Matplotlob est la première bibliothèque de visualisation de données Python, par conséquent, de nombreuses autres bibliothèques sont construites au-dessus de Matplotlib et sont conçues pour fonctionner en conjonction avec l’analyse. Des bibliothèques comme pandas et matplotlib sont des « wrappers » sur Matplotlib permettant d’accéder à un certain nombre de méthodes de Matplotlib avec moins de code.
La polyvalence de Matplotlib peut être utilisée pour faire des types de visualisation tels que :
- Graphes de dispersion
- Graphes à barres et histogrammes
- Graphes linéaires
- Graphes en camembert
- Graphes à tige
- Graphes à contour
- Graphes à quartz
- Spectrogrammes
Vous pouvez créer des grilles, des étiquettes, des légendes, etc. avec facilité puisque tout est facilement personnalisable.
Seaborn
Seaborn est une bibliothèque de visualisation de données populaire qui est construite au-dessus de Matplotlib. Les styles et les palettes de couleurs par défaut de Seaborn sont beaucoup plus sophistiqués que ceux de Matplotlib. Seaborn place la visualisation au cœur de la compréhension de toute donnée. Seaborn est une bibliothèque de plus haut niveau – il est plus facile de générer certains types de tracés, y compris les cartes thermiques, les séries temporelles et les tracés de violon.
ggplot
Ggplot est une bibliothèque de visualisation Python basée sur ggplot2 de R et la Grammar of Graphics. Vous pouvez construire des graphiques en utilisant une grammaire de haut niveau sans vous soucier des détails de mise en œuvre. Ggplot fonctionne différemment de Matplotlib : il permet aux utilisateurs de superposer des composants pour créer un graphique complet. Par exemple, l’utilisateur peut commencer par des axes, puis ajouter des points, puis une ligne, une ligne de tendance, etc. La Grammaire des Graphiques a été saluée comme une méthode « intuitive » de traçage, cependant les utilisateurs chevronnés de Matplotlib pourraient avoir besoin de temps pour s’adapter à ce nouvel état d’esprit.
Bokeh
Bokeh, natif de Python est également basé sur la Grammaire des Graphiques comme ggplot. Il supporte également le streaming, et les données en temps réel. L’argument de vente unique est sa capacité à créer des parcelles interactives, prêtes pour le web, qui peuvent facilement être sorties sous forme d’objets JSON, de documents HTML ou d’applications web interactives.
Bokeh a trois interfaces avec différents degrés de contrôle pour s’adapter à différents types d’utilisateurs. Le niveau le plus élevé est destiné à la création rapide de graphiques. Il comprend des méthodes pour créer des graphiques courants tels que des diagrammes à barres, des diagrammes en boîte et des histogrammes. Le niveau intermédiaire permet à l’utilisateur de contrôler les éléments de base de chaque graphique (par exemple, les points dans un nuage de points) et présente la même spécificité que Matplotlib. Le niveau inférieur est destiné aux développeurs et aux ingénieurs logiciels. Il n’a pas de valeurs par défaut prédéfinies et exige de l’utilisateur qu’il définisse chaque élément du graphique.
Plotly
Alors que Plotly est largement connu comme une plateforme en ligne pour la visualisation de données, très peu de gens savent qu’il peut être accessible à partir d’un notebook Python. Comme Bokeh, la force de Plotly réside dans la réalisation de tracés interactifs, et il offre des tracés de contour, qui ne peuvent être trouvés dans la plupart des bibliothèques.
Pygal
Pygal, comme Plotly et Bokeh, offre des tracés interactifs qui peuvent être intégrés dans un navigateur web. La possibilité de sortir des graphiques sous forme de SVG est son principal différenciateur. Pour les travaux portant sur de petits ensembles de données, les SVG feront l’affaire. Cependant, pour les graphiques avec des centaines de milliers de points de données, ils deviennent lents et ont des problèmes de rendu.
Il est facile de créer un graphique de belle apparence avec seulement quelques lignes de code puisque chaque type de graphique est emballé dans une méthode et les styles intégrés sont géniaux.
Altair
Altair est une bibliothèque python déclarative de visualisation statistique basée sur Vega-Lite. Il suffit de mentionner les liens entre les colonnes de données vers les canaux d’encodage, tels que l’axe des x, l’axe des y, la couleur, etc. et le reste des détails de traçage est géré automatiquement. Cela rend Altair simple, convivial et cohérent. Il est facile de concevoir des visualisations efficaces et belles avec une quantité minimale de code en utilisant Altair.
Geoplotlib
Geoplotlib est une boîte à outils utilisée pour le traçage de données géographiques et la création de cartes. Elle peut être utilisée pour créer une variété de types de cartes, comme les choroplèthes, les cartes thermiques et les cartes de densité de points. Pyglet (une interface de programmation orientée objet) doit être installé pour utiliser Geoplotlib.
Geoplotlib réduit la complexité de la conception de visualisations en fournissant un ensemble d’outils intégrés pour les tâches les plus courantes telles que la visualisation de la densité, les graphiques spatiaux et les fichiers de forme.
Puisque la plupart des bibliothèques de visualisation de données Python ne proposent pas de cartes, il est bon d’avoir une bibliothèque qui leur est dédiée.
Gleam
Gleam est inspiré du paquet Shiny de R. Il permet à l’utilisateur de transformer n’importe quelle analyse en application web interactive en utilisant uniquement des scripts Python. Les utilisateurs de Gleam n’ont pas besoin de connaître HTML, CSS ou JavaScript pour le faire. Gleam fonctionne avec n’importe quelle bibliothèque de visualisation de données Python. Une fois que les utilisateurs ont créé un graphe, ils peuvent construire des champs par-dessus pour filtrer et trier les données.
Missingno
Gérer les données manquantes est fastidieux. L’exhaustivité d’un ensemble de données peut être évaluée rapidement avec Missingno, plutôt que de chercher laborieusement dans un tableau. L’utilisateur peut filtrer et trier les données en fonction de leur complétude ou repérer les corrélations avec une carte thermique ou un dendrogramme.
Leather
Leather est conçu pour fonctionner avec tous les types de données et produit des graphiques comme des SVG, de sorte qu’ils peuvent être mis à l’échelle sans perdre la qualité de l’image. Le créateur de Leather, Christopher Groskopf, l’exprime le mieux : « Leather est la bibliothèque de graphiques Python pour ceux qui ont besoin de graphiques maintenant et ne se soucient pas de savoir s’ils sont parfaits ». Comme cette bibliothèque est relativement nouvelle, une partie de la documentation est encore en cours d’élaboration. Les graphiques qui peuvent être faits sont assez basiques – mais c’est l’intention.
Il y a un large éventail d’outils de visualisation, avec une énorme diversité, selon l’objectif de la tâche à accomplir disponible pour Python. Cela se reflète dans le nombre même de bibliothèques disponibles. Il est impératif pour les utilisateurs de garder à l’esprit les différences entre les approches et leurs implications avant de se concentrer sur une approche particulière.