CodeGym /Cours Java /Python SELF FR /Création d'histogrammes pour visualiser la répartition de...

Création d'histogrammes pour visualiser la répartition des données

Python SELF FR
Niveau 41 , Leçon 3
Disponible

1. Bases de la création des histogrammes

Si tu as déjà regardé un buffet et essayé de décider quel type de snacks prédomine, tu comprends déjà un peu la distribution des données. En programmation, on utilise des histogrammes pour identifier des motifs dans les données, qui au premier abord ne sont pas évidents. Les histogrammes aident à analyser visuellement comment les données sont réparties dans certaines catégories ou plages numériques. Allez, on commence !

Qu'est-ce qu'un histogramme ?

Un histogramme est un type de graphique qui aide à visualiser la répartition des données selon certaines intervalles ou "bins" (parfois appelés "paniers" ou "seaux"). Par exemple, si on veut savoir combien de fois les étudiants ont obtenu un certain score à un test, un histogramme est le meilleur moyen de le montrer.

Principaux paramètres d'un histogramme

Un histogramme est composé de colonnes (bins), où chaque colonne montre combien de valeurs tombent dans une plage donnée. Les principaux paramètres d'un histogramme sont :

  • Bins (bins) : le nombre d'intervalles dans lesquels la plage de données est divisée.
  • Couleur et contour (color et edgecolor) : définissent l'apparence des colonnes.
  • Plage (range) : définit les valeurs minimales et maximales à afficher.
  • Densité (density) : si défini à True, l'histogramme sera normalisé pour que la surface totale des colonnes soit égale à 1.

Utilisation de la fonction hist() pour créer des histogrammes

La bibliothèque Matplotlib propose une super fonction hist(), qui simplifie la création d'histogrammes. Voyons un exemple simple :

Python

import matplotlib.pyplot as plt
import numpy as np

# Créons un ensemble de données
data = np.random.normal(0, 1, 1000)

# Créons l'histogramme
plt.hist(data, bins=30, alpha=0.7, color='blue')
plt.title('Histogramme de la répartition des données')
plt.xlabel('Valeurs')
plt.ylabel('Fréquence')
plt.show()

Ici, nous générons un ensemble de données en utilisant la fonction np.random.normal(), qui crée une distribution normale. Nous divisons les données en 30 bins et utilisons le paramètre alpha pour ajuster la transparence des colonnes, ce qui améliore la visibilité.

2. Ajuster les bins et le style du graphique

Choisir le nombre et la taille des bins

Le nombre et la taille des bins peuvent avoir un impact significatif sur l'interprétation de l'histogramme. Des bins trop larges peuvent masquer des détails importants, tandis que des bins trop petits peuvent rendre l'histogramme désordonné et difficile à comprendre.

Exemple pratique :

Python

# Modifier le nombre et la taille des bins
plt.hist(data, bins=10, color='green', edgecolor='black')
plt.title('Histogramme avec 10 bins')
plt.xlabel('Valeurs')
plt.ylabel('Fréquence')
plt.show()

plt.hist(data, bins=50, color='red', edgecolor='black')
plt.title('Histogramme avec 50 bins')
plt.xlabel('Valeurs')
plt.ylabel('Fréquence')
plt.show()

Regarde comment la représentation de l'histogramme change quand on utilise 10 ou 50 bins. Tu vois la différence ? C'est exactement ça, la taille compte !

Exemples pratiques de personnalisation d'un histogramme

Les histogrammes peuvent être personnalisés non seulement en termes de nombre de bins, mais aussi de couleur, de transparence, et même du style des colonnes. Voici quelques exemples supplémentaires :

Python

# Autres options de personnalisation
plt.hist(data, bins=30, density=True, color='purple', edgecolor='white', linestyle='dashed')
plt.title('Histogramme de densité avec style modifié')
plt.xlabel('Valeurs')
plt.ylabel('Densité')
plt.grid(True)
plt.show()

Dans cet exemple, on a ajouté le paramètre density=True, qui normalise l'histogramme pour que la surface sous le graphique soit égale à 1. Cela peut être utile lorsqu'on veut analyser la densité de probabilité de la distribution.

3. Exemples d'utilisation des histogrammes

Les histogrammes sont utilisés dans différents domaines, allant de l'analyse de données financières aux expériences en physique. Voyons comment utiliser un histogramme sur un ensemble de données réel.

Créer un histogramme sur un ensemble de données réel

Imagine qu'on ait un ensemble de données représentant les températures moyennes journalières sur un an. On veut analyser à quelle fréquence la température se situe dans une certaine plage.

Python

# Ensemble de données de température (simplifié pour l'exemple)
temperatures = [15, 16, 15, 14, 19, 22, 24, 25, 17, 18, 15, 16, 23, 24, 21, 19, 18, 20, 22, 25, 26, 27]

# Création de l'histogramme
plt.hist(temperatures, bins=5, color='navy', edgecolor='black')
plt.title('Histogramme des températures')
plt.xlabel('Température (°C)')
plt.ylabel('Fréquence')
plt.show()

Dans cet exemple, nous avons utilisé 5 bins pour analyser la répartition des valeurs. L'histogramme montre que la plupart des températures se situent entre 15 et 20°C.

Comparer des répartitions sur un seul histogramme

Parfois, il est nécessaire de comparer la répartition de plusieurs ensembles de données sur un même histogramme. Avec Matplotlib, on peut superposer plusieurs histogrammes en utilisant le paramètre alpha (transparence).

Exemple 3 : Comparaison de répartitions

Python

import matplotlib.pyplot as plt

# Génération des données
data1 = [5, 10, 10, 15, 15, 20, 25, 30, 30, 35, 40]
data2 = [5, 7, 9, 10, 11, 13, 15, 17, 19, 20, 25]

# Création d'histogrammes superposés
plt.hist(data1, bins=5, color="blue", alpha=0.5, label="Ensemble 1")
plt.hist(data2, bins=5, color="green", alpha=0.5, label="Ensemble 2")
plt.xlabel("Valeur")
plt.ylabel("Fréquence")
plt.title("Comparaison de deux répartitions")
plt.legend()
plt.show()

Dans cet exemple, on utilise le paramètre alpha=0.5 pour chaque histogramme, ce qui rend les colonnes semi-transparentes et permet de comparer visuellement les chevauchements entre les répartitions.

Conseils pratiques pour travailler avec des histogrammes

  • Choisir un nombre optimal de bins : Adapte le nombre de bins en fonction de la taille et de la nature des données. Trop peu ou trop de bins peut fausser la répartition.
  • Comparer des répartitions : Utilise la transparence (alpha) pour superposer plusieurs histogrammes et comparer les répartitions.
  • Ajouter une grille : Une grille aide à mieux interpréter les données. Tu peux l'ajouter avec plt.grid(True).
  • Paramètre density : Utilise density=True pour afficher les données sous forme de densité de probabilité, ce qui est particulièrement utile pour comparer des répartitions.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION