Par Équipe Blent
Data Scientist
Publié le 17 mai 2022
Catégorie Machine Learning
Dans le monde de la science des données, la visualisation des données représente à la fois une étape primordiale d'un projet Data et un endroit frustrant pour un nouvel utilisateur. Sous Python, il existe une variété d'outils et de bibliothèques conçues pour cette tache et il existe aussi pas mal de types de graphes à comprendre et apprendre à afficher.
L'un de ces outils le plus connu est Matplotlib. C'est l’une des bibliothèques les plus puissantes et le plus utilisées en Python pour la visualisation de données. Elle permet nous permet de créer presque n’importe quelle visualisation que nous pourrions imaginer et en plus il y a un riche écosystème d’outils python construits autour d'elle et beaucoup d’outils de visualisation plus avancés utilisent Matplotlib comme bibliothèque de base. Cela fait de la maîtrise de cet outil une compétence nécessaire pour chaque Data Scientist.
Dans cet article, nous allons voir comment utiliser la bibliothèque Matplotlib pour créer des visualisations et des graphiques statistiques et quels sont ses avantages et ses alternatifs.
Inspiré de Matlab, Matplotlib est une bibliothèque conçue pour tracer et visualiser des graphiques via le langage de programmation Python. Elle est une librairie puissante, compatible avec beaucoup de plateformes et capable de générer des graphiques dans beaucoup de formats différents.
À lire aussi : découvrez notre formation MLOps
Matplotlib est avantageux en raison de sa flexibilité et de sa personnalisation. En effet, il est non seulement compatible avec de nombreux langages de programmation et de nombreux environnements, mais il fournit aussi de nombreux avantages, par exemple :
Cette bibliothèque représente aussi la base de plusieurs autres outils de visualisation de données comme Seaborn par exemple. C'est pourquoi un certain niveau de connaissances de cet outil est nécessaire pour les utiliser. Nous allons alors voir dans ce qui suit comment afficher de différents types de graphiques avec Matplotlib.
Matplotlib peut être utilisé de deux façons :
1. Via un développement orienté objet
Ce mode s'avère être le mode le plus verbeux, mais aussi le plus riche. En effet, lors de l’utilisation de l’interface orienté objet, il est utile de savoir comment Matplotlib structure ses tracés. Le tracé final que nous voyons en sortie est un objet ‘Figure’. L’objet Figure est le conteneur de premier niveau pour tous les autres éléments qui composent l’image graphique. Ces autres éléments sont appelés Artistes. L’objet Figure peut être considéré comme une toile, sur laquelle différents artistes agissent pour créer l’image graphique finale. Cette figure peut contenir n’importe quel nombre d’artistes différents.
Un artiste peut être une figure, un axe, une légende, etc.
Nous allons tracer un graphique simple en utilisant cette méthode pour mieux comprendre :
import matplotlib.pyplot as plt fig, ax1 = plt.subplots() ax1.set_ylabel("A") ax1.set_xlabel("B") ax1.plot([1,2,4,5], [0,3,4,5], "blue") ax2 = ax1.twinx() # Créer une autre axe y ax2.set_ylabel("C") ax2.set_xlabel("B") ax2.plot([1,2,4,5], [0,2,3,6], "green") fig.set_size_inches(7,5) fig.set_dpi(100) plt.show()
En utilisant la fonction plt.subplot()
nous initialisons une figure vide. Nous avons ajouté ensuite un deuxième axe ax2
à la figure comme premier artiste. Nous pouvons ensuite ajouter d'autres.
2. Via le module Pyplot inclus dans Matplotlib
Ce module regroupe de nombreuses fonctions pré construites pour créer des graphiques. Toutes les commandes pyplot
modifient la même figure. Il s’agit d’une interface basée sur l’état, où l’état est préservé par divers appels de fonction (les méthodes qui modifient la figure). Cette interface nous permet de générer rapidement et facilement des graphiques. La nature de l’interface basée sur l’état nous permet d’ajouter des éléments et de modifier le graphique selon nos besoins, quand nous en avons besoin.
Cette interface partage beaucoup de similitudes dans la syntaxe et la méthodologie avec Matlab. Nous allons appliquer le même exemple précédent, mais cette fois avec la méthode de Pyplot:
import matplotlib.pyplot as plt plt.figure(figsize=(9,7), dpi=100) plt.plot([1,2,4,5],[0,3,4,5],'bo-') plt.xlabel("A") plt.ylabel("B") plt.legend(["B"])
La fonction plt.figure
utilisée dans la première ligne permet de créer une figure, les commande appeler en suite avec plt.
permettent de modifier les éléments de cette figure.
Regardons comment tracer différents types de graphes en utilisant pyplot
. Nous allons commencer par un graphique très simple :
# Importation de Matplotlib import` `matplotlib.pyplot as plt # Initialisation de la liste des ordonnees x=[1,2,3] # Initialisation de la liste des absisses y=[1,3,1] # Traçer les points plt.plot(x, y) # Légender les axes plt.xlabel('x - axis') plt.ylabel('y - axis') # Ajouter un titre plt.title('My first graph!') # Afficher le graphe plt.show()
Nous allons ensuite essayer de customiser notre traçage en changeant la couleur et le style et largeur de la ligne et plus :
x=[1,2,3] y=[1,3,1] # Traçer les points en specifiant plusieurs paramètres d'affichage tels que la couleur et le style et largeur de la ligne et des marqueurs de points plt.plot(x, y, color='green', linestyle='dashed', linewidth = 3,marker='o', markerfacecolor='blue', markersize=12) # specifier la limites des axes x et y plt.ylim(1,8) plt.xlim(1,8) plt.xlabel('x - axis') plt.ylabel('y - axis') plt.title('My first customized graph!') plt.show()
Ces personnalisations sont applicables à presque n’importe quel traçage.
À lire aussi : découvrez notre formation MLOps
Nous allons maintenant commencer créer des graphiques plus complexes :
Un graphique à barres est essentiellement utilisé pour agréger les données catégoriques selon certaines méthodes et par défaut, c'est la moyenne. Il peut également être compris comme une visualisation de l'action groupby
selon deux variables. Avec Matplotlib, ce genre de graphe est produit en utilisant la fonction plt.bar
:
x = [1, 2, 3, 4, 5] y = [10, 24, 36, 40, 5] labels = ['one', 'two', 'three', 'four', 'five'] plt.bar(x,y, tick_label = labels, width = 0.8, color = ['red', 'green']) plt.xlabel('x') plt.ylabel('y') plt.title('My bar chart!') plt.show()
Un nuage de points est peut-être l’exemple le plus courant de la visualisation des relations entre deux ou plusieurs variables. Il s'agit tout simplement de visualiser tous les éléments d'une ou plusieurs colonnes du jeu de données en fonction d'une autre caractéristique. Chaque point montre une observation dans l’ensemble de données et ces observations sont représentées par des structures en forme de points. Avec Matplotlib, ce genre de graphe est produit en utilisant la fonction plt.scatter
:
x = [1,2,3,4,5,6,7,8,9,10] y = [2,4,5,7,6,8,9,11,12,12] plt.scatter(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('My scatter plot!') plt.show()
Le graphique le plus courant pour afficher les distributions de fréquence est un histogramme. Pour créer un histogramme, nous pouvons utiliser la fonction plt.hist
pour tracer les histogrammes :
frequencies = [2,5,70,40,30,45,50,45,43,40,44,60,7,13,57,18,90,77,32,21,20,40] range = (0, 100) bins = 10 plt.hist(ages, bins, range, color = 'green', histtype = 'bar', rwidth = 0.8) plt.xlabel('x') plt.ylabel('y') plt.title('My histogram!') plt.show()
Un diagramme circulaire ou à secteurs est utilisé pour montrer le pourcentage de chaque sous ensembles. Par conséquent, il est utilisé lorsque nous voulons comparer les catégories individuelles avec l’ensemble. Nous pouvons utiliser la fonction plt.pie
pour le tracer :
activities = ['eat', 'sleep', 'work', 'play'] slices = [3, 7, 8, 6] plt.pie(slices, labels = activities,startangle=90, shadow = True, explode = (0, 0, 0.1, 0),radius = 1.2, autopct = '%1.1f%%') plt.legend() plt.show()
Plusieurs autres graphiques peuvent être affichés avec Matplotlib, on peut citer en guise d'exemple les graphiques en 3D, les boites à moustaches (boxplot), etc. Le code pour ces tracés est disponible dans le site de la documentation officielle de la bibliothèque.
Jusqu'à présent, Matplotlib était l'outil Python le plus populaire pour la Data Visualisation. Malgré ça, il y a certains défauts valables à son sujet qui reviennent souvent. On peut citer par exemple :
Si vous recherchez des alternatives à Matplotlib pour Python, voici quelques-unes des meilleures options que vous pouvez envisager :
À lire aussi : découvrez notre formation MLOps
Matplotlib reste est un outil puissant qui peut être utilisé pour créer des figures et des graphiques de haute qualité. Cependant, il peut être difficile à utiliser et la syntaxe peut être déroutante. Il y a aussi un certain nombre d’autres bibliothèques de traçage disponibles qui peuvent être plus simples à utiliser. Un certain niveau de connaissances de cette bibliothèque est toujours nécessaire pour passer à l'usage des autres outils.
Vous souhaitez vous former au MLOps ?
Articles similaires
20 sept. 2022
Hugging Face est une startup française qui s'est fait connaître grâce à l'infrastructure NLP qu'ils ont développée. Aujourd'hui, elle est sur le point de révolutionner le domaine du Machine Learning et traitement automatique du langage naturel. Dans cet article, nous allons présenter Hugging Face et détailler les taches de base que cette librairie permet de réaliser. Nous allons également énumérer ses avantages et ses alternatifs.
Équipe Blent
Data Scientist
Lire l'article
12 juil. 2022
spaCy est une bibliothèque open-source pour le traitement avancé du langage naturel. Elle est conçue spécifiquement pour une utilisation en production et permet de construire des applications qui traitent et comprennent de grands volumes de texte.
Équipe Blent
Data Scientist
Lire l'article
4 juil. 2022
Un auto-encodeur est une structure de réseaux neuronaux profonds qui s'entraîne pour réduire la quantité de données nécessaires pour représenter une donnée d'entrée. Ils sont couramment utilisés en apprentissage automatique pour effectuer des tâches de compression de données, d'apprentissage de représentations et de détection de motifs.
Équipe Blent
Data Scientist
Lire l'article
60 rue François 1er
75008 Paris
Blent est une plateforme 100% en ligne pour se former aux métiers Tech & Data.
Organisme de formation n°11755985075.
Data Engineering
IA Générative
MLOps
Cloud & DevOps
À propos
Gestion des cookies
© 2025 Blent.ai | Tous droits réservés