# Exercice d'application

Evidemment vous auriez importé la biblie avant tout : import matplotlib.pyplot as plt.

# Ex.1 - les bases

Produire un graphique de nuages de points à partir des listes suivenantes : A = [-2, 2, 5, 10, 3.3] et B = [0, 2, 5, 9, 15].

 

# Exercice 1 : Tracer une ligne simple

Trace la courbe reliant les points donnés dans la liste y = [1, 3, 2, 4]. L’axe des abscisses sera automatiquement créé par matplotlib.

import matplotlib.pyplot as plt

y = [1, 3, 2, 4]
plt.plot(y)
plt.show()

Une ligne brisée passant par les points (0,1), (1,3), (2,2), (3,4).

Si on ne donne qu’une liste, matplotlib utilise automatiquement l’index (0,1,2,…) comme axe des abscisses.


# Exercice 2 : Tracer deux courbes sur le même graphique

Trace les courbes des deux listes : y1 = [1, 2, 3, 4] et y2 = [4, 3, 2, 1] sur le même graphique.

import matplotlib.pyplot as plt

y1 = [1, 2, 3, 4]
y2 = [4, 3, 2, 1]

plt.plot(y1)
plt.plot(y2)
plt.show()

Deux courbes apparaissent : l’une croissante et l’autre décroissante.

Plusieurs appels à plt.plot() permettent d’afficher plusieurs courbes sur le même graphique.


# Exercice 3 : Ajouter un titre et des labels

Trace la courbe y = [2, 4, 6, 8] et ajoute un titre au graphique, ainsi que des labels aux axes.

import matplotlib.pyplot as plt

y = [2, 4, 6, 8]

plt.plot(y)
plt.title("Courbe simple")
plt.xlabel("Indice")
plt.ylabel("Valeur")
plt.show()

Un graphique avec un titre "Courbe simple", l’axe des abscisses nommé "Indice" et l’axe des ordonnées "Valeur".

Les fonctions plt.title(), plt.xlabel() et plt.ylabel() permettent d’ajouter des annotations au graphique.


# Exercice 4 : Tracer une fonction mathématique

Trace la fonction y = x² pour x allant de -5 à 5.

import matplotlib.pyplot as plt

x = list(range(-5, 6))
y = [i**2 for i in x]

plt.plot(x, y)
plt.title("y = x²")
plt.show()

Une parabole symétrique centrée en 0.

On peut calculer les valeurs d’une fonction mathématique avec une boucle ou une liste en compréhension.


# Exercice 5 : Modifier l’apparence d’une courbe

Trace la fonction y = x³ avec une couleur rouge et des pointillés.

import matplotlib.pyplot as plt

x = list(range(-5, 6))
y = [i**3 for i in x]

plt.plot(x, y, 'r--')  # r = rouge, -- = pointillés
plt.title("y = x³")
plt.show()

Une courbe cubique rouge en pointillés.

Les arguments de style dans plt.plot() permettent de changer couleur, forme des points et type de ligne.


# Exercice 6 : Ajouter une légende

Trace y = x et y = x² sur le même graphique et ajoute une légende.

import matplotlib.pyplot as plt

x = list(range(-5, 6))
y1 = [i for i in x]
y2 = [i**2 for i in x]

plt.plot(x, y1, label="y = x")
plt.plot(x, y2, label="y = x²")
plt.legend()
plt.show()

Deux courbes avec une légende en haut à droite.

plt.legend() affiche la légende basée sur les labels fournis dans plt.plot().


# Exercice 7 : Tracer un nuage de points (scatter plot)

Trace un nuage de points avec x = [1,2,3,4,5] et y = [5,4,3,2,1].

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [5, 4, 3, 2, 1]

plt.scatter(x, y, color='green')
plt.title("Nuage de points")
plt.show()

Un nuage de points verts en diagonale décroissante.

plt.scatter() permet de faire des graphiques de dispersion au lieu de courbes continues.


# Exercice 8 : Tracer un histogramme

Trace l’histogramme des valeurs contenues dans la liste data = [1,1,2,2,2,3,3,4,5,5,5,5].

import matplotlib.pyplot as plt

data = [1,1,2,2,2,3,3,4,5,5,5,5]

plt.hist(data, bins=5, color='orange', edgecolor='black')
plt.title("Histogramme")
plt.show()

Un histogramme montrant la fréquence d’apparition de chaque valeur.

Un histogramme est utile pour visualiser la répartition d’un jeu de données.


# Exercice 9 : Tracer plusieurs sous-graphiques

Affiche y = x et y = x² dans deux graphiques séparés (un au-dessus de l’autre).

import matplotlib.pyplot as plt

x = list(range(-5, 6))
y1 = [i for i in x]
y2 = [i**2 for i in x]

plt.subplot(2,1,1)
plt.plot(x, y1)
plt.title("y = x")

plt.subplot(2,1,2)
plt.plot(x, y2)
plt.title("y = x²")

plt.tight_layout()
plt.show()

Deux graphiques superposés : une droite et une parabole.

plt.subplot(n,m,i) divise la fenêtre en n × m graphiques et affiche le i-ème.


# Exercice 10 : Tracer une courbe avec style avancé

Trace y = sin(x) pour x allant de 0 à 2π avec une courbe bleue, des points en cercle, une grille et une légende.

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 50)
y = np.sin(x)

plt.plot(x, y, 'bo-', label="sin(x)")  # b = bleu, o = cercles, - = ligne continue
plt.title("y = sin(x)")
plt.xlabel("x (radians)")
plt.ylabel("sin(x)")
plt.legend()
plt.grid(True)
plt.show()

Une sinusoïde bleue avec des cercles sur chaque point, une grille et une légende.

Cet exercice combine plusieurs notions : styles, légende, grille, et utilisation de numpy pour générer des points.


# Feuille d’exercices : Premiers graphiques avec Matplotlib


# Exercice 1

Trace la courbe de la fonction $ y = 2x $ pour $ x $ allant de -10 à 10.

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-10, 10, 100)
y = 2*x

plt.plot(x, y)
plt.show()

exercice_1
exercice_1

Premier contact avec plot(), qui trace une courbe à partir de deux séries de valeurs.


# Exercice 2

Reprends le graphique précédent et ajoute un titre, ainsi que des noms aux axes.

plt.plot(x, y)
plt.title("Graphique de y = 2x")
plt.xlabel("x")
plt.ylabel("y")
plt.show()

exercice_2
exercice_2

On introduit ici les fonctions title(), xlabel() et ylabel().


# Exercice 3

Trace la courbe $ y = x^2 $ pour $ x $ entre -10 et 10, en rouge pointillé et épaisseur 2.

x = np.linspace(-10, 10, 200)
y = x**2

plt.plot(x, y, "r--", linewidth=2)
plt.show()

exercice_3
exercice_3

On introduit le choix du style avec "r--" (rouge, ligne pointillée).


# Exercice 4

Sur un même graphique, trace $ y = x $, $ y = x2 $, et $ y = x3 $, avec légende.

x = np.linspace(-10, 10, 200)
plt.plot(x, x, label="y=x")
plt.plot(x, x**2, label="y=x²")
plt.plot(x, x**3, label="y=x³")
plt.legend()
plt.show()

exercice_4
exercice_4

Une même figure peut afficher plusieurs fonctions, et legend() automatise l’affichage des noms.


# Exercice 5

Trace $ y = \sin(x) $ avec des marqueurs au lieu d’une ligne continue.

x = np.linspace(0, 2*np.pi, 20)
y = np.sin(x)

plt.plot(x, y, "o")
plt.show()

exercice_5
exercice_5

L’option "o" permet de remplacer la ligne par des cercles aux positions données.


# Exercice 6

Trace $ y = \cos(x) $ entre -10 et 10, avec des limites d’axes fixées.

x = np.linspace(-10, 10, 400)
y = np.cos(x)

plt.plot(x, y)
plt.xlim(-2*np.pi, 2*np.pi)
plt.ylim(-1.5, 1.5)
plt.show()

exercice_6
exercice_6

Avec xlim() et ylim(), on définit précisément la zone affichée.


# Exercice 7

Trace $ y = e^x $ pour $ x $ entre -2 et 2. Ajoute une grille.

x = np.linspace(-2, 2, 200)
y = np.exp(x)

plt.plot(x, y)
plt.grid(True)
plt.show()

exercice_7
exercice_7

L’option grid(True) rend la lecture plus précise.


# Exercice 8

Crée une figure avec deux sous-graphes côte à côte : \sin(x) et \cos(x).

x = np.linspace(0, 2*np.pi, 200)

plt.subplot(1,2,1)
plt.plot(x, np.sin(x))
plt.title("sin(x)")

plt.subplot(1,2,2)
plt.plot(x, np.cos(x))
plt.title("cos(x)")

plt.show()

exercice_8
exercice_8

Avec subplot(lignes, colonnes, position), on affiche plusieurs figures dans une seule fenêtre.


# Exercice 9

Génère 100 valeurs aléatoires suivant une loi normale et trace l’histogramme.

data = np.random.normal(0, 1, 100)

plt.hist(data, bins=20)
plt.show()

exercice_9
exercice_9

hist() permet de visualiser la répartition de données expérimentales ou aléatoires.


# Exercice 10

Crée une figure avec deux sous-graphes :

  • en haut la courbe $ y = \sin(x) $,
  • en bas un histogramme de 200 valeurs aléatoires uniformes entre 0 et 10.
x = np.linspace(0, 2*np.pi, 200)
y = np.sin(x)
data = np.random.uniform(0, 10, 200)

plt.subplot(2,1,1)
plt.plot(x, y)
plt.title("sin(x)")

plt.subplot(2,1,2)
plt.hist(data, bins=20)
plt.title("Histogramme [0,10]")

plt.tight_layout()
plt.show()

exercice_10
exercice_10

On combine deux types de graphes (courbes et histogrammes) et tight_layout() ajuste les espaces.


Tu peux maintenant télécharger les fichiers image et copier ce texte dans un fichier Markdown. Pour obtenir le fichier Markdown complet avec les liens d’images prêts à l’emploi, télécharge toutes les images (exercice_1.png à exercice_10.png) et place-les dans le même dossier que ton fichier .md. Veux-tu que je regroupe directement ces fichiers pour téléchargement ? 1234