Vous êtes sur la page 1sur 16

PROGRAMME DU CAPESA

UNIVERSITE D'ABOMEY CALAVI

ECOLE NATIONALE D'ECONOMIE APPLIQUEE ET DE MANAGEMENT

CYCLE DES INGENIEURS STATISTICIENS ECONOMISTES

Année d'étude : ISE1 Option : Economie

UE : Informatique 1 ECUE : Algorithmique et


programmation en Python

VISUALISATION DE DONNEES AVEC MATPLOTLIB

Sous la direction de :
Réalisé par :

AKINDELE Féridia Dr. Ratheil HOUNDJI

HOUNSOU Jacquelin PhD, Intelligence Articielle

TSIPOAKA Emmanuella

Janvier 2024
Table des matières

1 PRESENTATION DE MATPLOTLIB 3
1.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Installation et utilisation de Matplotlib . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Installation de Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.2 Utilisation de Matplotlib avec Jupyter Notebook . . . . . . . . . . . . . . 4

2 AVANTAGES ET INSUFFISANCES DE MATPLOTLIB 5


2.1 Avantages de Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Insusances de Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 OPÉRATIONS MATPLOTLIB 7

4 PRATIQUE 14

2
Chapitre 1

PRESENTATION DE MATPLOTLIB

1.1 Généralités
Matplotlib est une bibliothèque Python populaire pour la visualisation de données. Elle per-

met de créer une grande variété de visualisations, telles que des graphiques, des histogrammes,

des spectres de puissance, des diagrammes à barres, des diagrammes de dispersion, etc. Voici

quelques éléments clés pour visualiser des données avec Matplotlib :

a. Personnalisation de Matplotlib
Vous pouvez personnaliser les graphiques pour répondre à vos besoins spéciques.

b. Carte de base
Il s'agit de la représentation graphique de base que vous pouvez utiliser pour tracer vos

données.

c. Sous-tracés
Ils vous permettent de tracer plusieurs graphiques sur une seule gure.

d. Graphiques 3D
Matplotlib permet également de créer des graphiques à nuage de points 3D, des dia-

grammes à barres 3D.

Il est important de noter que la visualisation des données est cruciale pour comprendre et

communiquer les informations contenues dans vos données.

3
1.2 Installation et utilisation de Matplotlib
1.2.1 Installation de Matplotlib

Pour installer Matplotlib, vous pouvez utiliser pip, qui est un gestionnaire de paquets pour
Python.

Voici les étapes à suivre :

a. Ouvrez une console de commande (par exemple, appuyez sur Windows + R, tapez cmd

et appuyez sur Entrée).

b. Assurez-vous que pip est installé. Si ce n'est pas le cas, vous pouvez l'installer en utilisant

la commande suivante :

"python -m pip install -U pip"

c. Installez Matplotlib en utilisant la commande suivante :

"python -m pip install -U matplotlib"

Si vous rencontrez des problèmes lors de la compilation, vous pouvez ajouter prefer-
binary à la commande pour sélectionner la version la plus récente de Matplotlib pour laquelle
il existe une roue précompilée pour votre système d'exploitation et Python.

Ces instructions peuvent varier en fonction du système d'exploitation et de l'environnement

Python.

1.2.2 Utilisation de Matplotlib avec Jupyter Notebook

Pour utiliser Matplotlib avec Jupyter Notebook, il faut d'abord s'assurer que Matplotlib

est installé. Si ce n'est pas le cas, on peut l'installer directement à partir de Jupyter Notebook

en utilisant la commande suivante dans une cellule de notebook : " !pip install matplotlib"
Une fois Matplotlib installé, on peut commencer à l'utiliser dans Jupyter Notebook.

4
Chapitre 2

AVANTAGES ET INSUFFISANCES DE
MATPLOTLIB
2.1 Avantages de Matplotlib
a. Personnalisation
Matplotlib ore une grande exibilité pour personnaliser vos graphiques. Vous pouvez

ajuster les couleurs, les styles de ligne, les marqueurs, les étiquettes d'axe, les titres et

bien plus encore.

b. Intégration avec d'autres bibliothèques


Matplotlib s'intègre bien avec d'autres bibliothèques Python comme Pandas et Seaborn,

ce qui vous permet de créer des visualisations encore plus sophistiquées avec moins de

code.

c. Exportation des graphiques


Vous pouvez exporter vos graphiques dans de nombreux formats populaires, y compris

PDF, SVG, JPG, PNG, BMP et GIF1. Cela peut être très utile si vous souhaitez partager

vos visualisations ou les utiliser dans des présentations ou des rapports.

d. Graphiques 3D
En plus des graphiques 2D, Matplotlib peut également créer des graphiques 3D, y compris

des nuages de points 3D, des diagrammes à barres 3D et des graphiques de surface.

e. Utilisation dans diérents contextes


Vous pouvez utiliser Matplotlib dans une variété de contextes, y compris les scripts Py-

thon, les shells Python et iPython, Jupyter Notebook, et même sur les services cloud

comme IBM Watson Studio et Google Collab.

f. Gratuit et open source

5
Matplotlib est une bibliothèque Python open source, ce qui signie que vous pouvez

l'utiliser gratuitement et même contribuer à son développement.

g. Facile à prendre en main


Malgré sa puissance, Matplotlib est relativement simple à utiliser, surtout si vous avez

déjà une certaine expérience avec Python.

h. Large gamme de fonctionnalités


Matplotlib peut créer une grande variété de visualisations, y compris des graphiques à

barres, des histogrammes, des nuages de points, des graphiques 3D, et bien plus encore.

Cependant, il est important de noter que malgré ces avantages, Matplotlib présente des insuf-

sances.

2.2 Insusances de Matplotlib


Matplotlib est une bibliothèque puissante pour la visualisation de données, mais elle présente

également certains inconvénients :

a. Complexité technique
Malgré sa facilité d'utilisation apparente, Matplotlib peut être dicile à maîtriser en

raison de sa complexité technique.

b. Syntaxe lourde
La syntaxe de Matplotlib peut être considérée comme lourde, surtout pour les débutants.

c. Documentation obsolète
Une grande partie de la documentation disponible en ligne est obsolète, ce qui peut rendre

l'apprentissage en autodidacte dicile.

d. Capacités d'interaction limitées


Les capacités d'interaction de Matplotlib sont relativement limitées en comparaison à

certaines alternatives.

e. Limites de performance
Comme Matplotlib est basé sur Python, il est soumis aux limites de performance de Py-

thon et de la GIL (Global Interpreter Lock).

Il est important de noter que malgré ces inconvénients, Matplotlib reste une bibliothèque de

visualisation de données très populaire et largement utilisée.

6
Chapitre 3

OPÉRATIONS MATPLOTLIB

Traçage de base
ˆ plt.plot() : trace y par rapport à x sous forme de lignes et/ou de marqueurs.

ˆ plt.scatter() : crée un nuage de points.

ˆ plt.bar() : crée un tracé à barres.

ˆ plt.barh() : crée un tracé à barres horizontales.

ˆ plt.hist() : trace un histogramme.

ˆ plt.boxplot() : crée un diagramme en boîte et en moustaches.

ˆ plt.pie() : trace un diagramme circulaire.

ˆ plt.fill_between() : Remplit la zone entre deux courbes horizontales.

ˆ plt.errorbar() : trace les barres d'erreur.

ˆ plt.stem() : crée un diagramme de tiges.

Figure et axes
ˆ plt.gure() : crée une nouvelle gure.

ˆ plt.subplots() : crée une gure et un ensemble de sous-intrigues.

ˆ plt.subplot2grid() : crée un axe à un emplacement spécique à l'intérieur d'un grille

régulière.

ˆ plt.axes() : ajoute des axes à la gure.

ˆ fig.add_subplot() : ajoute un sous-tracé à la gure actuelle.

ˆ ax.plot() : trace les données sur une instance d'axes particulière.

7
Personnalisation des tracés
ˆ plt.title() : dénit le titre des axes actuels.

ˆ plt.xlabel() : dénit l'étiquette de l'axe X.

ˆ plt.ylabel() : dénit l'étiquette de l'axe Y.

ˆ plt.xlim() : dénit les limites de la vue sur l'axe X.

ˆ plt.ylim() : dénit les limites de la vue sur l'axe Y.

ˆ plt.xticks() : dénit les emplacements et les étiquettes des graduations sur l'axe X.

ˆ plt.yticks() : dénit les emplacements et les étiquettes des graduations sur l'axe Y.

ˆ ax.set_xticklabels() : dénit les étiquettes de graduation de l'axe X sur le axes.

ˆ ax.set_yticklabels() : dénit les étiquettes de graduation de l'axe Y

ˆ plt.legend() : Place une légende sur les axes.

ˆ ax.legend() : Place une légende sur les axes spéciques.

ˆ plt.grid() : congurez les lignes de la grille.

ˆ ax.grid() : congurez les lignes de grille sur un axe spécique.

ˆ plt.tight_layout() : ajuste automatiquement les paramètres du sous-tracé.

ˆ fig.subplots_adjust() : Ajustez la disposition des sous-intrigues.

Styles et caractérisation des gurines


ˆ plt.style.use() : utilise un style prédéni.

ˆ mpl.rc() : dénit les paramètres rc actuels.

ˆ plt.rc_context() : renvoie un gestionnaire de contexte pour gérer rc paramètres.

ˆ plt.saveg() : enregistre la gure actuelle.

ˆ plt.show() : ache toutes les gures ouvertes.

Couleurs, marqueurs et styles de lignes


ˆ plt.plot(x, y, color='green') : spéciez la couleur par son nom.

ˆ plt.plot(x, y, linestyle='') : spéciez le style de ligne.

ˆ plt.plot(x, y, Marker='o') : spéciez le style de marqueur.

8
ˆ plt.setp() : dénit une propriété sur un objet artiste.

Types de tracés avancés


ˆ plt.contour() : tracé de contour.

ˆ plt.contourf() : tracé de contour rempli.

ˆ plt.imshow() : Ache une image sur les axes.

ˆ plt.streamplot() : dessine les lignes simpliées d'un ux vectoriel.

ˆ plt.quiver() : trace un champ de èches 2D.

ˆ plt.pcolor() : crée un tracé pseudo-couleur.

ˆ plt.tripcolor() : crée un tracé pseudo-couleur d'un objet non structuré grille triangulaire.

ˆ plt.tricontour() : dessine des contours sur un triangle non structuré grille.

ˆ plt.hexbin() : crée un tracé de regroupement hexagonal.

ˆ plt.stackplot() : dessinez un tracé à zones empilées.

Travailler avec du texte et des annotations


ˆ plt.text() : ajoute du texte aux axes.

ˆ plt.annotate() : Annotez le point xy avec du texte.

ˆ plt.gtext() : ajoute du texte à la gure.

Travailler avec des données


ˆ plt.fill_betweenx() : Remplir la zone entre deux courbes verticales.

ˆ plt.vlines() : trace des lignes verticales.

ˆ plt.hlines() : trace des lignes horizontales.

ˆ plt.table() : ajoute un tableau aux axes.

ˆ ax.twinx() : crée un deuxième axe y partageant le même axe x.

ˆ ax.twiny() : crée un deuxième axe x partageant le même axe y.

Personnalisation des mises en page


ˆ plt.subplot_mosaic() : crée une disposition de sous-parcelles avec une mosaïque.

9
ˆ fig.align_labels() : aligner les étiquettes des sous-traces.

ˆ GridSpec() : Spéciez une géométrie pour les sous-tracés.

Fonctionnalités interactives
ˆ plt.connect() : Connecte une fonction de rappel à un événement.

ˆ plt.disconnect() : déconnecte une fonction de rappel d'un événement.

ˆ plt.pause() : met en pause la boucle interactive.

Personnalisation des tiques et des épines


ˆ ax.xaxis.set_major_locator() : dénit le localisateur du ticker majeur.

ˆ ax.xaxis.set_minor_locator() : dénit le localisateur du ticker mineur.

ˆ ax.xaxis.set_major_formatter() : dénit le formateur du format principal téléscrip-

teur.

ˆ ax.xaxis.set_minor_formatter() : dénit le formateur du mineur téléscripteur.

ˆ ax.spines['left'].set_position() : dénit la position de la colonne vertébrale.

Légendes et barres de couleurs


ˆ ax.legend(loc='upper right') : place une légende à un endroit spécié emplacement.

ˆ plt.colorbar() : ajoute une barre de couleurs à un tracé.

ˆ ax.legend(handles, labels) : crée une légende avec des poignées personnalisées et les éti-

quettes.

Animation
ˆ animation.FuncAnimation() : créez une animation en appelant à plusieurs reprises une

fonction.

ˆ animation.ArtistAnimation() : animation utilisant un ensemble xe d'artistes objets.

ˆ plt.draw() : redessine la gure actuelle.

10
Travailler avec des chemins et des correctifs
ˆ mpl.path.Path() : crée un nouveau chemin.

ˆ mpl.patches.Circle() : crée un patch circulaire.

ˆ mpl.patches.Rectangle() : crée un patch rectangulaire.

ˆ mpl.patches.Polygon() : crée un patch de polygone.

Traçage 3D avec mplot3d


ˆ mpl_toolkits.mplot3d.Axes3D() : crée un axe 3D.

ˆ ax.plot_surface() : tracez une surface 3D.

ˆ ax.plot_wireframe() : tracez un laire 3D.

ˆ ax.scatter3D() : crée un nuage de points 3D.

ˆ ax.bar3d() : crée un tracé à barres 3D.

Travailler avec des images


ˆ mpl.image.imread() : lit une image d'un chier dans un tableau.

ˆ mpl.image.imsave() : enregistre un tableau en tant que chier image.

Travailler avec des cartes de couleurs


ˆ mpl.cm.get_cmap() : récupère une instance de palette de couleurs.

ˆ mpl.colors.Normalize() : normalise une valeur donnée dans la plage 0-1 sur une échelle

logarithmique.

ˆ mpl.colors.LogNorm() : normalise une valeur donnée dans la plage 0-1 sur une échelle

logarithmique.

Fonctionnalités interactives
ˆ mpl.connect('event_name', callback) : connecter un événement avec un rappeler.

ˆ mpl.disconnect('event_name', callback) : déconnecte un événement d'un rappeler.

11
Personnalisation de Matplotlib
ˆ mpl.use() : dénit le backend Matplotlib.

ˆ mpl.rcParams.update() : mettre à jour les rcParams de Matplotlib.

ˆ mpl.style.available : répertorie les styles disponibles.

Conguration des aides de Matplotlib


ˆ mpl.get_configdir() : Récupère le répertoire de conguration de Matplotlib.

ˆ mpl.get_cachedir() : Récupère le répertoire du cache Matplotlib.

ˆ mpl.font_manager.findfont() : recherche une police.

Fonctionnalités avancées
ˆ mpl.colors.Colormap() : classe de base pour tous les mappages scalaires vers RGBA.

ˆ mpl.ticker.ScalarFormatter() : formate les valeurs de graduation sous forme de nombre.

ˆ mpl.ticker.FuncFormatter() : fonction dénie par l'utilisateur pour le formatage.

ˆ mpl.dates.DateFormatter() : formate les dates dans des graphiques.

ˆ mpl.dates.AutoDateLocator() : sélection automatique des graduations de date.

Matplotlib avec Pandas


ˆ DataFrame.plot() : créez des tracés de séries ou de DataFrame.

ˆ Series.plot() : Créez des tracés de séries.

Sauvegarde des chires dans diérents formats


ˆ g.saveg('lename.png') : enregistre la gure sous forme de chier .png.

ˆ g.saveg('lename.svg') : enregistre la gure sous forme de chier .svg.

ˆ g.saveg('lename.pdf ') : enregistre la gure sous forme de chier .pdf.

Backends interactifs (par exemple, avec Jupyter Notebook)


ˆ matplotlib inline : congurez Matplotlib pour une utilisation dans Jupyter Notebook.

12
ˆ Notebook matplotlib : activer les gures interactives dans un Jupyter carnet de notes.

Personnalisation de la taille de la gure et du DPI


ˆ plt.gure(gsize=(8, 6), dpi=100) : crée une gure avec des taille et DPI.

Espacement et marges des sous-parcelles


ˆ plt.subplots_adjust(left=Aucun, bottom=Aucun, right=Aucun, top=Aucun, wspace=None,
hspace=None) : ajustez les paramètres de disposition de la sous-intrigue.

13
Chapitre 4

PRATIQUE

TP 1 : Débuts avec Matplotlib

L'objectif de ce premier TP est de vous familiariser avec les concepts de base de la vi-

sualisation de données en utilisant la bibliothèque Matplotlib pour créer diérents types de

graphiques. Outre la bibliothèque Matplotlib, la bibliothèque numpy sera importée pour géné-

rer des nombres aléatoires.

1. Graphique simple

a. Représenter deux points de coordoonées (1,3) et (8,10).

b. Tracer une courbe de la position (1,3) à (2, 8) puis à (6,1) et enn à (8, 10).

c. Mettre des marqueurs sur la courbe.

d. Changer la taille et la couleur des marqueurs en ajoutant des arguments à plt.plot.

e. Choisir la même couleur "hotpink" pour les marqueurs et leurs bordures.

f. Augmenter la largeur de la courbe

2. Générer des données

Dans un objet x, générer une séquence de 1000 points uniformément espacés entre 0 et

10. Dans un objet y, générez l'exponentielle des valeurs contenues dans x.

3. Tracé simple de graphique

Représenter la courbe traduisant l'évolution de y en fonction de x.

4. Personnalisation de graphiques

a. Donner un titre à votre graphique :  Fonction exponentielle . Pour les axes, l'abs-

cisse et l'ordonnée seront respectivement nommés : x et valeur de y.

b. Changer la couleur de votre graphique en bleu et modier la courbe en pointillés.

c. Ajouter une légende à votre graphique.

14
5. Faire des graphiques dans un même carré

a. Créer deux nouveaux objets : z et w tels que z = (1/2)*y + 2500 et w = 2*y.

b. Tracé les courbes représentatives de z et w en fonction de x. La première sera en

noir et la seconde, en couleur verte.

c. Changer les limites des axes : on s'intéresse à faire varier l'axe des abscisses entre 6

et 10 et l'axe des ordonnées entre 1500 et 7000.

6. Faire des subplots

a. Approche fonctionnelle

L'objectif de cette partie est de créer une gure avec quatre sous-graphiques arrangés

en une grille de type 2x2. Chaque sous-graphique contient une courbe tracée à partir

des données x et y. Les courbes seront respectivement en rouge, bleu, noir et vert.

Ajouter un titre pour chaque graphique (Plot 1, Plot 2, Plot 3, Plot 4) et un titre

pour toute la gure ( Myplots)

NB : Rassurez-vous de régler l'espacement entre les sous-graphiques pour une meilleure


mise en page.

b. Approche orientée objet

En utilisant une approche orientée objet de Matplotlib, créer une gure avec deux

sous-graphiques disposés verticalement.

7. Enregistrement des graphiques

Enregistrer le dernier subplot respectivement aux formats .jpg ; .png et .pdf

TP 2 : Visualisation de données réelles avec Matplotlib

L'objectif de ce TP est d'utiliser la bibliothèque Matplotlib pour créer diérentes visualisa-

tions à partir du célèbre dataset "Iris". Ce dataset est intégré à la bibliothèque Seaborn.

1. Histogrammes

a. Tracez un histogramme de la distribution des longueurs de sépales (sepal_length).

b. Créez un histogramme distinct pour chaque espèce de eur (setosa, versicolor, vir-

ginica).

c. Ajoutez des titres, des labels d'axe et une légende.

15
2. Nuages de Points

a. Tracez un nuage de points avec les longueurs de pétales (petal_length) en fonction

des largeurs de pétales (petal_width).

b. Utilisez une couleur diérente pour chaque espèce de eur.

c. Ajoutez des titres, des labels d'axe et une légende.

3. Boxplots

a. Créez des boxplots pour la distribution des longueurs de sépales (sepal_length)

pour chaque espèce.

b. Ajoutez des titres, des labels d'axe et une légende.

Pour aller plus loin

1. Créez une pyramide des âges à partir des données qui seront fournies

2. Créez une carte de la région de votre choix

16

Vous aimerez peut-être aussi