Lycée/SNT Seconde/Données structurées/Visualisation/Créer des visualisations avec Python

Créer des visualisations avec Python

Données structurées - SNT Seconde

Créer des visualisations avec Python

30 min+20 XPapprentissage

Objectifs

  • Comprendre l'importance de la visualisation pour analyser des données
  • Découvrir la bibliothèque matplotlib et ses composants de base
  • Créer ses premiers graphiques (courbes, histogrammes, camemberts) à partir de données simples

Introduction

Imaginez pouvoir transformer une feuille de calcul pleine de chiffres en un graphique coloré qui révèle instantanément une tendance cachée. C'est le pouvoir de la visualisation de données ! Aujourd'hui, nous allons apprendre à créer nos propres graphiques avec Python, un outil utilisé par les scientifiques et les entreprises du monde entier.

Comment créer des visualisations de données efficaces et informatives à l'aide du langage Python ?

Pourquoi visualiser les données ?

Les données brutes, comme une liste de températures mensuelles ou les résultats d'un sondage, sont souvent difficiles à interpréter rapidement. La visualisation transforme ces nombres en formes, couleurs et positions sur un graphique, ce qui permet à notre cerveau de percevoir immédiatement des motifs, des tendances ou des anomalies. Par exemple, une courbe qui monte montre une croissance, un pic sur un histogramme signale une valeur fréquente. En SNT, nous travaillons avec des données sur le web, les réseaux ou les objets connectés. Savoir les visualiser est crucial pour en tirer des conclusions. Prenons un cas concret : vous avez relevé le nombre d'heures passées sur différents réseaux sociaux par semaine. Sous forme de liste : [7, 3, 5, 2]. Sous forme de camembert, on voit tout de suite quelle application prend le plus de temps ! La visualisation sert donc à : EXPLIQUER (rendre clair un phénomène), EXPLORER (chercher des informations cachées) et PERSUADER (appuyer un argument avec une preuve visuelle).

Points clés

  • La visualisation facilite l'interprétation des données en exploitant notre perception visuelle.
  • Elle permet d'identifier rapidement des tendances, des comparaisons et des exceptions.
  • C'est une étape clé dans l'analyse de données, de l'exploration à la communication des résultats.

Matplotlib : la boîte à outils graphique de Python

Pour créer des graphiques en Python, nous utilisons une bibliothèque appelée `matplotlib`. C'est un ensemble d'outils puissants et très répandus. Nous allons principalement utiliser son sous-module `pyplot`, souvent importé sous l'alias `plt` avec la commande : `import matplotlib.pyplot as plt`. Un graphique est construit comme un dessin sur une 'figure' (la fenêtre ou la page) qui contient un ou plusieurs 'axes' (les repères gradués où les données sont placées). Les étapes de base sont : 1. Préparer les données (souvent dans des listes). 2. Créer une figure et des axes. 3. Choisir le type de graphique (plot, bar, pie...) et le dessiner sur les axes en lui donnant les données. 4. Personnaliser (ajouter un titre, des labels aux axes, une légende, modifier les couleurs). 5. Afficher le graphique avec `plt.show()`. Par exemple, pour tracer la courbe de croissance d'une plante, on aurait une liste `jours = [1, 2, 3, 4, 5]` et une liste `tailles = [10, 12, 15, 19, 25]`. La commande `plt.plot(jours, tailles, color='green')` créerait la courbe. Il est essentiel de toujours annoter ses axes (ex: 'Jours' et 'Taille (cm)') pour que le graphique soit compréhensible par tous.

Points clés

  • Matplotlib est la bibliothèque standard pour la visualisation en Python, utilisée via `pyplot`.
  • Un graphique se construit sur une 'figure' et des 'axes' que l'on personnalise étape par étape.
  • La clé est d'associer les bonnes données au bon type de graphique (courbe pour une évolution, barres pour une comparaison...).

Applications pratiques

Mettons en pratique avec trois visualisations classiques. **1. Graphique en courbe (plot)** : Idéal pour montrer l'évolution dans le temps. Code type : `plt.plot(temps, valeurs)` ; `plt.xlabel('Mois')` ; `plt.ylabel('Température (°C)')` ; `plt.title('Évolution des températures en 2023')` ; `plt.show()`. **2. Histogramme (bar)** : Parfait pour comparer des catégories ou montrer une distribution. Exemple : visualiser le nombre d'élèves par note à un contrôle. `noms = ['Alice', 'Bob', 'Charlie']` ; `notes = [15, 12, 18]` ; `plt.bar(noms, notes, color=['blue', 'red', 'green'])`. **3. Diagramme circulaire (pie)** : Pour montrer les proportions d'un tout. Attention à l'utiliser avec peu de catégories. Exemple : répartition du trafic web par navigateur. `parts = [45, 30, 15, 10]` ; `labels = ['Chrome', 'Safari', 'Firefox', 'Edge']` ; `plt.pie(parts, labels=labels, autopct='%1.1f%%')`. En TP, vous pourriez créer un graphique à partir de données réelles, comme les statistiques de visites d'un site web collégial ou les résultats d'un questionnaire sur les pratiques numériques.

Points clés

  • Le graphique en courbe (plt.plot) visualise une évolution ou une relation entre deux variables numériques.
  • L'histogramme (plt.bar) permet de comparer des valeurs entre différentes catégories.
  • Le diagramme circulaire (plt.pie) montre la composition d'un ensemble en proportions, mais est à utiliser avec parcimonie.

À retenir

La visualisation de données est une étape essentielle pour analyser et communiquer des informations à partir de données brutes. En utilisant la bibliothèque Python matplotlib, nous pouvons créer différents types de graphiques (courbes, barres, camemberts) adaptés à la nature des données et au message à transmettre. La clé réside dans le choix du bon type de visualisation et dans une annotation soignée (titres, labels) pour garantir la clarté et l'utilité du graphique.

  • Un bon graphique est informatif, clair et bien annoté (titres, axes).
  • On choisit le type de graphique en fonction du message : courbe pour une évolution, barres pour une comparaison, camembert pour des proportions.
  • Matplotlib (via pyplot) est l'outil de base pour créer des visualisations en Python avec des commandes comme plt.plot(), plt.bar() et plt.pie().
Techno