0% ont trouvé ce document utile (0 vote)
2 vues36 pages

Module 4 Visualisationdesdonnesavec Matplotlib Seaborn

Ce document présente une formation sur la visualisation des données en utilisant les bibliothèques Python Matplotlib et Seaborn. Il couvre les types de graphiques que l'on peut créer, l'importance de la visualisation pour l'analyse et la communication des résultats, ainsi que des exemples pratiques. Les participants apprendront à créer des graphiques variés et à personnaliser leurs visualisations pour mieux raconter des histoires avec leurs données.

Transféré par

drissadia24
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues36 pages

Module 4 Visualisationdesdonnesavec Matplotlib Seaborn

Ce document présente une formation sur la visualisation des données en utilisant les bibliothèques Python Matplotlib et Seaborn. Il couvre les types de graphiques que l'on peut créer, l'importance de la visualisation pour l'analyse et la communication des résultats, ainsi que des exemples pratiques. Les participants apprendront à créer des graphiques variés et à personnaliser leurs visualisations pour mieux raconter des histoires avec leurs données.

Transféré par

drissadia24
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Jour 4 – Visualisation des données avec Matplotlib &

Seaborn
Objectif général :

Apprendre à créer des graphiques professionnels, clairs et pertinents pour l’analyse


exploratoire et la communication de résultats, en utilisant Matplotlib (librairie de base) et
Seaborn (haut niveau, stylisé).

Plan du Jour 4 : Visualisation des données


4.1 Introduction à la visualisation de données

4.2 Premiers pas avec Matplotlib

4.3 Types de graphiques avec Matplotlib

4.4 Introduction à Seaborn

4.5 Types de graphiques avec Seaborn

4.6 Personnalisation avancée

4.7 Étude de cas réel


4.1 – Introduction à la visualisation de données
Félicitations, tu es arrivé au Jour 4 de cette formation exceptionnelle sur Python pour
l’analyse de données. Et aujourd’hui, on entre dans un univers visuel, dynamique,
stratégique : celui de la visualisation des données !

Pourquoi visualiser les données ?

Ferme les yeux un instant et imagine ceci : tu as entre les mains un tableau avec des centaines,
voire des milliers de lignes de données. Des ventes, des chiffres, des scores, des mesures, des
dates... C’est dense. C’est lourd. Et soyons honnêtes… ce n’est pas très inspirant à regarder.

Maintenant, imagine qu’en quelques lignes de code, tu peux transformer ces chiffres en un
graphique clair, coloré, structuré. Un graphique qui te révèle en un coup d’œil :

●​ les produits les plus vendus


●​ la tendance des revenus sur plusieurs mois
●​ ou encore les catégories les moins performantes.​

Voilà la puissance de la visualisation des données.

Visualiser pour comprendre et convaincre

Dans la vie d’un Data Analyst, visualiser = raconter une histoire. Tu ne fais pas que
représenter les données : tu mets en lumière ce qui est important. Tu aides à la prise de
décision. Tu simplifies la complexité.

Et ce que tu apprendras ici ne servira pas seulement pour les présentations. Tu vas aussi
explorer, analyser et valider des hypothèses plus rapidement grâce aux graphiques.

Outils de visualisation en Python : Matplotlib & Seaborn

Dans cet univers visuel, deux bibliothèques vont être tes meilleurs alliés :

🟦 Matplotlib
C’est la bibliothèque fondamentale de visualisation en Python. Elle te permet de créer des
graphiques très personnalisés. Elle est puissante, mais parfois un peu plus "manuelle".
Exemple : Tu veux un graphique en courbes, tu le dessines presque "point par
point", mais tu as le contrôle total.

🟩 Seaborn
C’est une surcouche de Matplotlib. Elle est plus moderne, stylée, élégante et concise. En
quelques lignes, tu peux créer des graphiques professionnels.

Elle fonctionne à merveille avec les DataFrames Pandas, ce qui rend l’analyse de
données encore plus fluide.

Types de graphiques essentiels que tu vas apprendre

Voici un aperçu de ce que tu seras capable de créer à la fin de ce module :

●​ Des courbes de tendances pour suivre une évolution dans le temps


●​ Des diagrammes à barres pour comparer des catégories
●​ Des histogrammes pour visualiser une distribution
●​ Des scatter plots pour explorer des relations entre deux variables
●​ Des heatmaps pour détecter des corrélations
●​ Des boxplots pour comprendre la dispersion d’un jeu de données​

Et plus encore.

Exemples concrets où ces outils sont utilisés

●​ Un responsable marketing visualise les performances d’une campagne par région


●​ Un analyste RH détecte les écarts de salaires dans une entreprise
●​ Un scientifique des données identifie des anomalies dans les capteurs d’une machine
●​ Un étudiant analyse l’évolution de ses notes ou le temps passé à étudier​

Ce que tu vas développer aujourd’hui

●​ Une maîtrise de base et avancée de Matplotlib


●​ Une capacité à créer des visualisations percutantes avec Seaborn
●​ La capacité de raconter des histoires avec tes données

Avant de plonger dans Matplotlib et Seaborn, il est essentiel de savoir que Python regorge

👇
d'autres bibliothèques de visualisation de données. Mais alors, pourquoi avons-nous
choisi uniquement ces deux-là pour cette formation ? Voyons ça ensemble.
Autres bibliothèques de visualisation populaires en Python

1. Plotly

●​ Visualisations interactives et très modernes


●​ Fonctionne bien pour le web, tableaux de bord, Jupyter Notebooks

👉
●​ Très utilisé pour des projets où l’interactivité est importante (zoom, survol, filtres)​
Mais : un peu plus complexe pour débuter. Certaines fonctionnalités sont payantes.

2. Bokeh

●​ Spécialisé dans les visualisations interactives pour le web

👉
●​ Très bon pour créer des tableaux de bord en temps réel​
Mais : syntaxe plus lourde, moins utilisée dans les analyses classiques ou
l’enseignement de base.

3. Altair

●​ Très déclaratif (on dit ce qu’on veut, pas comment le faire)

👉
●​ Super lisible et efficace pour des analyses exploratoires​
Mais : moins de contrôle personnalisé, courbe d’apprentissage spécifique.

4. ggplot (Python)

●​ Inspiré de ggplot2 de R

👉
●​ Bon pour des graphiques standards rapidement​
Mais : communauté plus restreinte en Python, moins flexible que Seaborn/Matplotlib.

Pourquoi Matplotlib + Seaborn dans cette formation ?


1. Incontournables et fondamentales

●​ Matplotlib est la base de presque toutes les autres bibliothèques. Même Seaborn
repose dessus.
●​ Comprendre Matplotlib, c’est comprendre les fondations de la visualisation en Python.

2. Utilisées en entreprise

●​ Dans le quotidien d’un Data Analyst, surtout sur Jupyter, Pandas, etc., ces deux
bibliothèques sont les plus rencontrées.

3. Puissance + simplicité
●​ Matplotlib donne un contrôle total sur les graphiques.
●​ Seaborn permet de faire des graphiques professionnels, propres et rapides, avec
peu de code.​

4. Parfaites pour l’analyse exploratoire

●​ Elles sont idéales pour visualiser des DataFrames Pandas, que tu utilises déjà depuis
le Jour 3.

5. Très bien documentées et enseignées

●​ Immense communauté, des milliers d’exemples, de tutoriels, de forums.​

Résumé :

👉 Nous avons choisi Matplotlib et Seaborn car elles sont à la fois accessibles,
puissantes, reconnues dans l’industrie, et parfaites pour apprendre à visualiser les
données efficacement dès maintenant.
4.2 – Premiers pas avec Matplotlib

Qu’est-ce que Matplotlib ?

Matplotlib est une bibliothèque de visualisation très puissante, utilisée pour créer des
graphiques statiques, animés et interactifs en Python. Elle est flexible, hautement
personnalisable, et sert de base à d'autres bibliothèques comme Seaborn.

Le module principal que tu utiliseras est :

import [Link] as plt

🔸 Étape 1 – Installation
Si ce n’est pas déjà fait, installe la bibliothèque avec :

pip install matplotlib

🔸 Étape 2 – Premier graphique : simple mais puissant


import [Link] as plt

# Quelques données
mois = ['Jan', 'Fév', 'Mars', 'Avr', 'Mai']
ventes = [150, 180, 210, 190, 250]

# Création d’un graphique simple


[Link](mois, ventes)
[Link]("Ventes mensuelles")
[Link]("Mois")
[Link]("Ventes (en $)")
[Link]()

Voilà ton tout premier graphique linéaire avec Matplotlib !


🔸 Étape 3 – Ajouter du style
Ajoutons des couleurs, styles de lignes, marqueurs...

[Link](mois, ventes, color='green', marker='o', linestyle='--')


[Link]("Ventes mensuelles stylisées")
[Link]("Mois")
[Link]("Ventes ($)")
[Link](True)
[Link]()

🔸 Étape 4 – Créer un graphique à barres


[Link](mois, ventes, color='orange')
[Link]("Ventes par mois")
[Link]("Mois")
[Link]("Ventes ($)")
[Link]()

🔸 Étape 5 – Histogramme (distribution)


import numpy as np

données = [Link](1000)

[Link](données, bins=30, color='skyblue', edgecolor='black')


[Link]("Distribution de données aléatoires")
[Link]("Valeur")
[Link]("Fréquence")
[Link]()
🔸 Étape 6 – Diagramme circulaire
produits = ['Produit A', 'Produit B', 'Produit C']
parts = [40, 35, 25]

[Link](parts, labels=produits, autopct='%1.1f%%', startangle=90)


[Link]("Part de marché")
[Link]('equal') # Pour un cercle parfait
[Link]()

À retenir
●​ [Link]() → graphique en ligne​

●​ [Link]() → barres verticales​

●​ [Link]() → histogrammes​

●​ [Link]() → camemberts​

●​ [Link]() → nuages de points​

●​ [Link]() → affiche le graphique à l’écran​

Mini-exercices pour t’entraîner


1.​ Crée un graphique en ligne représentant l’évolution du prix du Bitcoin sur 7 jours.
2.​ Dessine un diagramme à barres comparant les ventes de 3 produits dans 4 régions.
3.​ Génère un histogramme représentant les âges de 100 clients aléatoires.
4.​ Réalise un camembert de la répartition des heures passées sur 4 activités : travail,
loisirs, sommeil, apprentissage.
5.​ Crée un graphique combiné avec deux courbes (ex: revenus et dépenses mensuels).​
Exemple 1 – [Link]() → Graphique en ligne

Objectif : Visualiser l’évolution du prix du Bitcoin sur 7 jours


import [Link] as plt

# Données simulées
jours = ['Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam', 'Dim']
prix_bitcoin = [108500, 108900, 109250, 108750, 109500, 100000, 109800]

[Link](jours, prix_bitcoin, color='blue', marker='o', linestyle='-')


[Link]("Évolution du prix du Bitcoin sur 7 jours")
[Link]("Jour")
[Link]("Prix (USD)")
[Link](True)
[Link]()

✅ Utilisation concrète : Très utile pour analyser des tendances dans le temps (prix,
température, croissance, etc.).

Exemple 2 – [Link]() → Graphique à barres

Objectif : Comparer les ventes par catégorie de produit dans un magasin


import [Link] as plt

# Données simulées
categories = ['Électronique','Vêtements','Alimentation', 'Jouets', 'Meubles']
ventes = [4500, 3000, 5200, 1200, 2800]

[Link](categories, ventes, color='green')


[Link]("Ventes par catégorie de produit")
[Link]("Catégories")
[Link]("Ventes ($)")
[Link](rotation=45)
[Link](axis='y', linestyle='--', alpha=0.7)
plt.tight_layout()
[Link]()
✅ Utilisation concrète : Très utile pour les rapports de vente, enquêtes marketing, ou
encore la comparaison de résultats par département.
Exemple 3 – [Link]() → Histogramme

Objectif : Visualiser la distribution des âges des clients

Les histogrammes permettent de voir comment les données sont réparties. Idéal pour
comprendre la forme d’une distribution (normale, asymétrique, etc.).

Exemple concret : Âges des clients


import [Link] as plt
import numpy as np

# Âges simulés de 100 clients


ages = [Link](18, 65, size=100)

[Link](ages, bins=10, color='skyblue', edgecolor='black')


[Link]("Distribution des âges des clients")
[Link]("Âge")
[Link]("Nombre de clients")
[Link](axis='y', linestyle='--', alpha=0.7)
plt.tight_layout()
[Link]()

Exemple 4 – [Link]() → Diagramme circulaire (camembert)

Objectif : Visualiser la répartition des ventes par catégorie de produit

Le diagramme circulaire est parfait pour montrer les proportions d’un ensemble (par
exemple : quelles catégories génèrent le plus de ventes ?).

Exemple concret : Répartition des ventes par catégorie


import [Link] as plt

# Données simulées
categories = ['Électronique', 'Vêtements', 'Alimentation', 'Beauté']
ventes = [4500, 3000, 2000, 1500]

# Création du camembert
[Link](ventes, labels=categories, autopct='%1.1f%%', startangle=90,
colors=['#ff9999','#66b3ff','#99ff99','#ffcc99'])
[Link]("Répartition des ventes par catégorie")
[Link]('equal') # Pour un cercle parfait
plt.tight_layout()
[Link]()

Exemple 5 – [Link]() → Diagramme de


dispersion (nuage de points)
Objectif : Visualiser une corrélation entre deux variables numériques

Parfait pour observer des relations entre variables, par exemple entre la publicité et les
ventes, ou l’âge du client et le montant d’achat.

Exemple concret : Corrélation entre la publicité (en $) et les ventes (en $)


import [Link] as plt

# Données simulées
publicite = [100, 200, 300, 400, 500, 600, 700, 800]
ventes = [250, 400, 600, 700, 850, 950, 1050, 1200]

# Création du nuage de points


[Link](publicite, ventes, color='green', marker='o')
[Link]("Corrélation entre budget pub et ventes")
[Link]("Budget publicitaire ($)")
[Link]("Ventes ($)")
[Link](True)
plt.tight_layout()
[Link]()

💡 Bonus : Dans la vraie vie, ce genre de graphique est utilisé pour vérifier si augmenter le
budget pub a un réel effet sur les ventes (analyse marketing courante).
Exemple 6 – boxplot() → Diagramme en boîte (Box Plot)

Objectif : Visualiser la distribution, les quartiles, les valeurs aberrantes


(outliers)

import [Link] as plt


import numpy as np

# Générons des données simulées de revenus mensuels


revenus = [2100, 2300, 2500, 2700, 2900, 3100, 6000, 7000, 2100, 2400,
5000]

# Création du diagramme en boîte


[Link](revenus)
[Link]("Distribution des revenus mensuels")
[Link]("Revenus en $")
[Link](True)
[Link]()

🔍 Analyse :
●​ La ligne centrale représente la médiane.
●​ Le rectangle montre le 1er et 3e quartile.
●​ Les points isolés sont des outliers (valeurs atypiques).​
Exemple 7 – stackplot() → Aires empilées

Objectif : Visualiser une évolution cumulée de plusieurs catégories dans le


temps

import [Link] as plt

# Mois
mois = ['Jan', 'Fév', 'Mars', 'Avr', 'Mai']

# Ventes par catégorie


pain = [20, 25, 30, 35, 40]
jus = [15, 18, 20, 22, 24]
gateaux = [10, 15, 20, 25, 30]

# Création du graphique en aires empilées


[Link](mois, pain, jus, gateaux, labels=['Pain', 'Jus',
'Gâteaux'], colors=['#ff9999','#66b3ff','#99ff99'])
[Link]("Évolution des ventes par catégorie")
[Link]("Mois")
[Link]("Ventes (en milliers)")
[Link](loc='upper left')
plt.tight_layout()
[Link]()

📊 Très utile pour : comprendre la composition d’un total au fil du temps.


Exemple 8 – Heatmap (avec seaborn) → Carte de chaleur

Objectif : Visualiser une matrice de données ou une corrélation

import seaborn as sns


import numpy as np
import [Link] as plt

# Générons une matrice de corrélation fictive


import pandas as pd

data = {
'Ventes': [100, 200, 300, 400, 500],
'Pub': [10, 20, 30, 40, 50],
'Clients':[5, 15, 25, 35, 45]
}
df = [Link](data)

# Matrice de corrélation
corr = [Link]()

# Affichage avec heatmap


[Link](corr, annot=True, cmap='coolwarm', linewidths=0.5)
[Link]("Matrice de corrélation")
plt.tight_layout()
[Link]()

🔥 Heatmap = incontournable pour les Data Analysts !


Elle permet de voir d’un coup d’œil les corrélations fortes ou faibles entre les variables.
4.3 – Personnalisation avancée des graphiques avec
Matplotlib

1. Ajouter un titre, labels des axes, et légende

import [Link] as plt

x = [1, 2, 3, 4, 5]
y = [10, 20, 15, 25, 30]

[Link](x, y, label='Ventes')
[Link]("Ventes trimestrielles", fontsize=16, fontweight='bold')
[Link]("Trimestre")
[Link]("Montant en milliers $")
[Link](loc='upper left') # Position de la légende
[Link](True) # Affiche la grille
[Link]()

2. Modifier couleurs, styles et tailles de ligne

[Link](x, y, color='green', linestyle='--', linewidth=3, marker='o',


markersize=8, markerfacecolor='red')
[Link]("Graphique stylisé")
[Link]()

●​ color : couleur de la ligne


●​ linestyle : style de la ligne ('-', '--', ':', '-.')
●​ linewidth : épaisseur
●​ marker : forme des points ('o', 's', '^', etc.)
●​ markersize, markerfacecolor : taille et couleur des points​
3. Ajouter des annotations (texte explicatif)

[Link](x, y)
[Link]("Ventes trimestrielles")
[Link]("Pic de ventes", xy=(4, 25), xytext=(3, 27),
arrowprops=dict(facecolor='black', shrink=0.05))
[Link]()

4. Personnaliser les ticks (graduations) des axes

[Link](x, y)
[Link]([1, 2, 3, 4, 5], ['T1', 'T2', 'T3', 'T4', 'T5'],
rotation=45)
[Link](range(0, 35, 5))
[Link]()

5. Travailler avec plusieurs graphiques (subplots)

fig, axs = [Link](2, 1, figsize=(8, 6))

axs[0].plot(x, y, color='blue')
axs[0].set_title("Graphique 1")

axs[1].bar(x, y, color='orange')
axs[1].set_title("Graphique 2")

plt.tight_layout()
[Link]()
6. Utiliser des styles prédéfinis

[Link]('ggplot') # Style ggplot, seaborn, classic,


fivethirtyeight, etc.
[Link](x, y)
[Link]("Graphique avec style ggplot")
[Link]()

Bonus : Enregistrer une figure

[Link](x, y)
[Link]("Graphique enregistré")
[Link]("mon_graphique.png", dpi=300, bbox_inches='tight')
[Link]()

Résumé :

La personnalisation est la clé pour rendre tes graphiques plus parlants et adaptés à ton
audience. Que ce soit pour un rapport, une présentation ou un dashboard, ces astuces te
permettront de gagner en professionnalisme.
4.4 Introduction à Seaborn
Bienvenue dans cette nouvelle section consacrée à Seaborn ! Félicitations d’être arrivé jusqu’ici !​

👏
Tu as maintenant une bonne base en Python, Pandas, NumPy, Matplotlib — tu progresses comme
un vrai Data Analyst !

Maintenant, on monte en puissance avec une bibliothèque encore plus puissante pour la
visualisation : Seaborn.

Pourquoi utiliser Seaborn ?


Alors, pourquoi Seaborn, alors qu’on a déjà vu Matplotlib ?

Imagine que Matplotlib soit un outil de dessin très précis mais un peu « brut » — tu dois tout
personnaliser toi-même.

Eh bien Seaborn est construit au-dessus de Matplotlib. Il simplifie la vie des data analysts, en
proposant des visualisations plus élégantes, plus intuitives et plus professionnelles — avec
beaucoup moins de lignes de code.

Seaborn est :

●​ Parfaitement intégré avec Pandas (tu peux passer un DataFrame directement)


●​ Très utile pour des visualisations statistiques complexes (comme les distributions, les

😍
corrélations, les heatmaps…)
●​ Et surtout : les graphiques sont beaux dès la première ligne !

Configuration de base : sns.set_theme()


La première chose qu’on fait souvent avec Seaborn, c’est définir un thème visuel :

import seaborn as sns

# Appliquer un thème moderne et agréable


sns.set_theme()

Tu peux aussi personnaliser ce thème avec d’autres options, comme :

sns.set_theme(style="darkgrid") # Autres styles : whitegrid, dark,


white, ticks

Cela va définir un fond de graphique, un style de police, des couleurs douces — tout pour
rendre ton analyse plus agréable à lire.
Intégration avec Pandas
Un des plus grands avantages de Seaborn, c’est son intégration native avec les DataFrames
Pandas.​
Tu peux passer un DataFrame entier à la fonction sns.plot_type() et directement
référencer les colonnes avec les arguments x= et y=.

Exemple :

import pandas as pd

# DataFrame simple
df = [Link]({
"jour": ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi"],
"ventes": [120, 150, 170, 90, 200]
})

# Visualisation simple avec Seaborn


[Link](x="jour", y="ventes", data=df)

Tu vois ? Pas besoin d’extraire manuellement les colonnes — tout est fluide !

En résumé :
●​ Seaborn est une extension intelligente de Matplotlib, orientée vers l’analyse
statistique.
●​ sns.set_theme() te permet d’avoir un look professionnel en un clin d’œil.
●​ L’intégration avec Pandas rend ton code plus propre, plus lisible et plus rapide à écrire.

Tu es prêt à faire tes premiers graphes avec Seaborn ?

Dans les prochaines sections, nous allons explorer :

●​ scatterplot() pour visualiser des relations


●​ barplot() pour comparer des catégories
●​ boxplot() pour voir la répartition d'une variable
●​ heatmap() pour visualiser des corrélations et bien plus encore…​
Exemple 1 : Scatter plot simple avec Seaborn

Imaginons que tu as un jeu de données avec deux variables numériques et que tu veux
visualiser la relation entre elles.

Voici comment faire ça très simplement avec Seaborn :

import seaborn as sns


import [Link] as plt

# Exemple de données simples


data = {
'taille': [150, 160, 170, 180, 190, 200],
'poids': [50, 55, 65, 70, 80, 90]
}

# On crée un DataFrame Pandas


import pandas as pd
df = [Link](data)

# Création du scatter plot avec seaborn


[Link](x='taille', y='poids', data=df)

# Ajout du titre et affichage


[Link]("Relation entre la taille et le poids")
[Link]()

Ce que fait ce code :

●​ On importe seaborn et [Link] (pour afficher le graphique).


●​ On crée un DataFrame df avec nos données.
●​ Avec [Link](), on trace un graphique points (scatter) où l’axe X est la
taille, l’axe Y le poids.
●​ On ajoute un titre avec Matplotlib.
●​ Puis on affiche le graphique.

Pourquoi c’est intéressant ?

C’est super simple, clair et lisible; Le style par défaut est déjà très joli et en quelques lignes tu
as un visuel qui te montre la corrélation entre deux variables.​
4.5 – Les types de graphiques avec Seaborn
À la fin de cette section, tu sauras choisir, créer et personnaliser les principaux graphiques
utilisés en Data Analysis avec Seaborn : distribution, relation, catégories, et corrélation.

1. Graphiques de distribution
Pourquoi ? Pour analyser comment les données sont réparties (fréquences,
tendances, formes, etc.)

➤ histplot() – Histogramme

Affiche les fréquences d’une variable numérique, découpée en "tranches" (bins).

import seaborn as sns


import [Link] as plt

ages = [21, 22, 23, 25, 25, 26, 27, 28, 30, 32, 34, 35, 40, 42, 50]
[Link](ages, bins=6)
[Link]("Répartition des âges")
[Link]()

➤ kdeplot() – Courbe de densité

Alternative plus fluide à l’histogramme, pour représenter la distribution continue.

[Link](ages, fill=True, color="green")


[Link]("Courbe de densité des âges")
[Link]()

2. Graphiques de relation
Pourquoi ? Pour visualiser la relation entre deux variables numériques, souvent pour
détecter des corrélations ou tendances.
➤ scatterplot() – Nuage de points

Exemple classique : pourboire en fonction du total de la facture.

df = sns.load_dataset("tips")
[Link](x="total_bill", y="tip", data=df)
[Link]("Pourboire en fonction de l'addition")
[Link]()

➤ lineplot() – Graphique en ligne

Pour montrer une évolution dans le temps ou une tendance continue.

[Link](x="size", y="tip", data=df)


[Link]("Évolution du pourboire selon le nombre de personnes")
[Link]()

➤ relplot() – Graphique relationnel générique

Permet plus de contrôle, comme le faceting (plusieurs petits graphes) et la couleur par
groupe :

[Link](x="total_bill", y="tip", hue="sex", col="day", data=df)

3. Graphiques catégoriels
Pourquoi ? Pour comparer des groupes : par jour, par sexe, par catégorie, etc.

➤ barplot() – Moyenne par catégorie

[Link](x="day", y="total_bill", data=df)


[Link]("Montant moyen de l'addition par jour")
[Link]()
➤ countplot() – Nombre d’observations par catégorie

[Link](x="day", data=df)
[Link]("Nombre de clients par jour")
[Link]()

➤ boxplot() – Boîte à moustaches

Super utile pour voir la médiane, la dispersion et les valeurs extrêmes :

[Link](x="day", y="total_bill", data=df)


[Link]("Répartition des factures par jour")
[Link]()

➤ violinplot() – Boîte + courbe de densité

Plus esthétique et plus riche que le boxplot seul :

[Link](x="day", y="total_bill", data=df)


[Link]("Répartition (style violon) des factures par jour")
[Link]()

4. Matrice de corrélation avec heatmap()


Pourquoi ? Pour détecter rapidement les relations entre plusieurs variables
numériques.

correlation = [Link](numeric_only=True)
[Link](correlation, annot=True, cmap="coolwarm")
[Link]("Matrice de corrélation")
[Link]()
Résumé Express :
Type Méthode(s) Quand l’utiliser ?

Distribution histplot(), kdeplot() Comprendre la forme des données

Relation scatterplot(), lineplot(), Détecter des tendances et


relplot() corrélations

Catégoriel barplot(), countplot(), Comparer des groupes


boxplot(), violinplot()

Corrélation heatmap() Voir les relations entre plusieurs


variables
🍽️
Exercice pratique – Analyse des données de pourboires

Nous allons utiliser un jeu de données réel fourni par Seaborn : le célèbre dataset tips, qui
contient les notes d’un restaurant (addition, pourboire, jour, etc.).

Objectif de l’exercice :

Créer plusieurs visualisations avec Seaborn pour répondre à des questions concrètes de
business :

👉 Quel jour les clients dépensent le plus ? Les femmes donnent-elles plus de pourboires
que les hommes ? Le pourboire est-il lié à la taille du groupe ?

Étape 1 – Chargement des données

import seaborn as sns


import [Link] as plt

# Charger le dataset
df = sns.load_dataset("tips")
[Link]()

Étape 2 – Histogramme de la variable total_bill

Q1 : Quelle est la répartition du montant des additions ?

[Link](df['total_bill'], bins=10, kde=True)


[Link]("Distribution des montants d'addition")
[Link]("Total de l'addition")
[Link]("Nombre de clients")
[Link]()
Étape 3 – Nuage de points : total_bill vs tip

Q2 : Plus l’addition est élevée, plus le pourboire augmente-t-il ?

[Link](data=df, x="total_bill", y="tip", hue="sex")


[Link]("Relation entre addition et pourboire")
[Link]()

Étape 4 – Moyenne par jour (barplot)

Q3 : Quel jour génère le plus gros chiffre d’affaires moyen ?

[Link](data=df, x="day", y="total_bill", ci=None)


[Link]("Addition moyenne par jour")
[Link]()

Étape 5 – Pourboire selon le sexe (violinplot)

Q4 : Les femmes ou les hommes donnent-ils plus souvent des pourboires élevés ?

[Link](data=df, x="sex", y="tip")


[Link]("Distribution des pourboires selon le sexe")
[Link]()

Étape 6 – Corrélation (heatmap)

Q5 : Quelles variables sont les plus corrélées avec le pourboire ?

correlation = [Link](numeric_only=True)
[Link](correlation, annot=True, cmap="YlGnBu")
[Link]("Corrélation entre les variables")
[Link]()
4.6 Personnalisation avancée Taille et style des
graphiques

Tu es maintenant capable de créer de superbes graphiques… mais si tu veux qu'ils soient


vraiment professionnels, présentables et mémorables, la personnalisation est une étape
incontournable.

1. Modifier la taille du graphique

La taille du graphique est importante pour la lisibilité, surtout si tu veux exporter.

import [Link] as plt


import seaborn as sns

# Exemple avec les données tips


df = sns.load_dataset("tips")

[Link](figsize=(10, 6)) # Largeur = 10, Hauteur = 6


[Link](data=df, x="day", y="total_bill")
[Link]("Addition moyenne par jour")
[Link]()

2. Modifier le style général des graphiques

Seaborn propose plusieurs thèmes :

# Thèmes disponibles : "darkgrid", "whitegrid", "dark", "white",


"ticks"
sns.set_theme(style="whitegrid")

Tu peux tester plusieurs pour voir celui qui convient le mieux à ton contexte (rapport business,
publication, slides, etc.).
3. Changer les couleurs et les palettes

Seaborn offre des palettes intégrées :

sns.set_palette("pastel") # Autres : "deep", "muted", "bright",


"dark", "colorblind"

Ou personnalise-toi-même les couleurs :

custom_colors = ["#FF6F61", "#6B5B95", "#88B04B"]


sns.set_palette(custom_colors)

Exemple :

[Link](data=df, x="day", y="total_bill")

4. Ajouter des annotations à un graphique

Tu veux afficher les valeurs directement au-dessus de chaque barre ? Voici comment :

[Link](figsize=(8,5))
ax = [Link](data=df, x="day", y="total_bill", ci=None)

# Ajouter des valeurs au-dessus de chaque barre


for p in [Link]:
[Link](f"{p.get_height():.1f}",
(p.get_x() + p.get_width() / 2., p.get_height()),
ha='center', va='center',
fontsize=11, color='black', xytext=(0, 8),
textcoords='offset points')

[Link]("Addition moyenne par jour avec annotations")


[Link]()
5. Sauvegarder un graphique avec [Link]()

Besoin d’insérer le graphique dans un rapport PDF, Word ou une présentation ?

[Link](figsize=(8, 5))
[Link](data=df, x="sex", y="tip")
[Link]("Distribution des pourboires")
[Link]("pourboires_par_sexe.png", dpi=300, bbox_inches='tight')
[Link]()

●​ dpi=300 : excellente qualité pour l’impression.


●​ bbox_inches='tight' : coupe les marges inutiles.​

Résumé :
Élément Fonction / Méthode

Taille du graphe [Link](figsize=(largeur, hauteur))

Thème du graphique sns.set_theme(style="whitegrid")

Palette de couleurs sns.set_palette("muted")

Ajouter des valeurs [Link]()

Sauvegarder le graphe [Link]("[Link]")

Astuce finale :
Crée ta propre charte graphique pour avoir une identité visuelle unique dans tes rapports et
formations !
4.7 – Études de cas réels​

On passe maintenant à la pratique pure !​


Tu vas voir comment combiner tout ce que tu as appris en Matplotlib et Seaborn pour analyser
un vrai jeu de données : visualisation_ventes_magasin

Objectif
Utiliser les bibliothèques Pandas, Matplotlib et Seaborn pour :

1.​ Visualiser l’évolution des revenus par mois.


2.​ Comparer les performances par catégorie de produits.​

1. Chargement des données

Assurons-nous d’abord d’avoir les bons outils :

import pandas as pd
import [Link] as plt
import seaborn as sns

# Charger le fichier CSV


df =
pd.read_csv("[Link]
4d3nsGm6ZRMgyoOFKQeA6mKbKY/export?format=csv")

# Aperçu
print([Link]())

2. Visualisation de l’évolution des revenus par mois

Étape 1 – Conversion de la colonne Date :

df['Date'] = pd.to_datetime(df['Date'])
df['Mois'] = df['Date'].dt.to_period('M').astype(str) # pour un
format "YYYY-MM"
Étape 2 – Agrégation des revenus :

revenus_mensuels = [Link]('Mois')['Revenu'].sum().reset_index()

Étape 3 – Visualisation :

[Link](figsize=(12, 6))
[Link](data=revenus_mensuels, x="Mois", y="Revenu", marker='o')
[Link](rotation=45)
[Link]("Évolution des revenus mensuels")
[Link]("Mois")
[Link]("Revenu total")
[Link](True)
plt.tight_layout()
[Link]()

👉 Résultat attendu : Une courbe qui montre si tes ventes montent ou baissent avec le temps.
3. Comparaison des performances par catégorie

Étape 1 – Agrégation :

revenus_par_categorie =
[Link]("Categorie")["Revenu"].sum().reset_index()

Étape 2 – Visualisation :

[Link](figsize=(8, 6))
[Link](data=revenus_par_categorie, x="Categorie", y="Revenu",
palette="muted")
[Link]("Revenu total par catégorie de produits")
[Link]("Revenu (en $)")
[Link]("Catégorie")
[Link](rotation=30)
plt.tight_layout()
[Link]()

👉 Tu peux rapidement repérer quelles catégories génèrent le plus de revenus.


Bonus : Heatmap des ventes par Catégorie & Mois

pivot = df.pivot_table(index='Categorie', columns='Mois',


values='Revenu', aggfunc='sum', fill_value=0)

[Link](figsize=(12, 6))
[Link](pivot, annot=True, fmt=".0f", cmap="YlGnBu")
[Link]("Heatmap des revenus par catégorie et mois")
[Link]("Mois")
[Link]("Catégorie")
plt.tight_layout()
[Link]()

Bilan
En une seule étude de cas :

●​ Tu as manipulé et transformé des données avec Pandas.


●​ Tu as utilisé Seaborn pour des graphiques clairs et stylés.
●​ Tu as raconté une histoire avec les données.​
4.8 – Exportation des graphiques (avec Matplotlib et
Seaborn)
Tu viens de créer un graphique magnifique qui montre l’évolution des ventes ou la répartition
des catégories… Super ! Mais maintenant tu te demandes : "Comment je peux l’enregistrer
pour le mettre dans mon rapport PowerPoint ? L’envoyer à mon manager ? Ou le publier
sur LinkedIn ?"

Eh bien, c’est exactement ce qu’on va voir ensemble !

Tu ne veux pas perdre ton visuel après l’avoir affiché. Tu veux le sauvegarder. Et la méthode
pour ça, c’est toute simple : [Link]().

1. Pourquoi exporter ses visuels ?

Voici quelques cas concrets :

●​ Tu crées un rapport PDF ou Word avec des résultats d’analyse.


●​ Tu dois envoyer un graphique à ton supérieur hiérarchique.
●​ Tu veux intégrer un visuel dans une présentation PowerPoint.
●​ Tu veux faire un portfolio ou un blog de data analyst.​

Bref, savoir exporter tes graphiques proprement, c’est pro.

2. Syntaxe de base avec matplotlib

import [Link] as plt

# Code de visualisation
[Link]([1, 2, 3], [4, 5, 6])
[Link]("Exemple simple")

# Sauvegarde
[Link]("graphique_exemple.png")

🔔 Très important : toujours enregistrer avant d’appeler [Link](). Sinon,


parfois l’image sera vide !
3. Formats disponibles

Tu peux exporter dans plusieurs formats selon le besoin :

Format Utilité

.png Format universel, bonne qualité

.jpg Plus léger, mais perte de qualité

.pdf Idéal pour l’impression ou les rapports

.svg Format vectoriel, parfait pour le web

.eps Format vectoriel pour impressions haute qualité

[Link]("mon_graphique.pdf")
[Link]("mon_graphique.svg")

4. Options pratiques de savefig()

[Link]("[Link]", dpi=300, bbox_inches='tight')

Paramètre Description

dpi=300 Haute résolution pour impression

bbox_inches='tight' Supprime les marges blanches inutiles


5. Exemple réel avec Seaborn

Prenons le fichier visualisation_ventes_magasin.csv :

import pandas as pd
import seaborn as sns
import [Link] as plt

df = pd.read_csv("ventes_magasin.csv")

[Link](figsize=(10, 6))
[Link](x='Categorie', y='Montant', data=df, estimator=sum,
ci=None)
[Link]("Ventes totales par catégorie")
[Link]("Catégorie")
[Link]("Montant total des ventes")
[Link](rotation=45)

# Sauvegarde dans un dossier dédié


[Link]("figures/ventes_par_categorie.png", dpi=300,
bbox_inches='tight')
[Link]()

🗂️ Crée toujours un dossier figures/ ou exports/ dans ton projet pour


centraliser tes images.

🎨 6. Astuce bonus : ajouter la date automatiquement


from datetime import datetime

aujourd_hui = [Link]().strftime('%Y-%m-%d')
[Link](f"figures/ventes_{aujourd_hui}.png")

Pratique pour organiser tes fichiers dans le temps !


À retenir :

●​ ✅ [Link]() permet d’exporter dans plusieurs formats​


●​ ✅ Toujours appeler avant [Link]()​
●​ ✅ Utilise dpi=300 pour une qualité optimale​
●​ ✅ Organise tes exports dans un dossier​
●​ ✅ Ajoute la date dans le nom du fichier pour t’y retrouver​

🔥 Mini challenge pour toi :


Crée un graphique basé sur les ventes mensuelles par catégorie, puis :

1.​ Ajoute un titre et personnalise le style


2.​ Exporte-le au format PNG avec 300 dpi
3.​ Enregistre-le dans un dossier outputs/
4.​ Nomme le fichier : ventes_mensuelles_categorie_2025.png​

En résumé

Savoir créer de belles visualisations c’est bien, mais savoir les enregistrer et les partager
efficacement, c’est encore mieux.​
C’est ce qui te rend crédible, pro, organisé et prêt à travailler en équipe.

Vous aimerez peut-être aussi