0% ont trouvé ce document utile (0 vote)
4 vues27 pages

Cours Numpy Matplotlib

Ce document présente un cours sur les bibliothèques NumPy et Matplotlib en Python, essentielles pour le calcul scientifique et le tracé de graphiques. Il couvre les fonctionnalités de NumPy pour la manipulation de tableaux multidimensionnels et les opérations mathématiques, ainsi que les capacités de Matplotlib pour créer divers types de graphiques. Le document inclut également des exemples pratiques et des exercices pour renforcer l'apprentissage.

Transféré par

mohamed.2007xxc
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)
4 vues27 pages

Cours Numpy Matplotlib

Ce document présente un cours sur les bibliothèques NumPy et Matplotlib en Python, essentielles pour le calcul scientifique et le tracé de graphiques. Il couvre les fonctionnalités de NumPy pour la manipulation de tableaux multidimensionnels et les opérations mathématiques, ainsi que les capacités de Matplotlib pour créer divers types de graphiques. Le document inclut également des exemples pratiques et des exercices pour renforcer l'apprentissage.

Transféré par

mohamed.2007xxc
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

NUMPY ET MATPLOTLIB

Calcul scientifique et tracé de graphiques en Python

Abahchouch Youness

CPGE Agadir — Lycée Reda Slaoui


Département d’informatique
abahchouch@[Link]

2026
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Plan

1 Introduction

2 NumPy : les tableaux

3 NumPy : indexation et opérations

4 Matplotlib : tracé de graphiques

5 Exercices

1/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Introduction

Dans ce cours, nous allons découvrir deux bibliothèques fondamentales en Python pour le
calcul scientifique :

NumPy (Numerical Python) — permet la manipulation efficace de grands volumes de


données numériques sous forme de tableaux multidimensionnels.

Matplotlib — permet d’afficher des graphiques : courbes, histogrammes, nuages de


points, etc.

Ces deux bibliothèques sont les fondations du calcul scientifique en Python et sont
utilisées massivement en mathématiques, physique, statistique et data science.

2/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

NumPy — Pourquoi ?
Python propose des listes : hétérogènes (mélange de types), de taille variable.

NumPy propose de vrais tableaux : homogènes (un seul type) et de taille fixe.

Avantages des tableaux NumPy


Manipulation beaucoup plus rapide que les listes Python.
Opérations vectorisées : on peut appliquer une opération à tout un tableau en une
seule ligne.
Nombreuses fonctions mathématiques optimisées.
Support natif des matrices et tableaux à n dimensions.

Note de vocabulaire : on utilisera le mot liste pour un objet de type list et le mot tableau
pour un objet de type ndarray (NumPy). 3/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Importer NumPy

Pour utiliser NumPy, on l’importe traditionnellement sous l’alias np :

import numpy as np

Toutes les fonctions NumPy seront alors préfixées par np., par exemple [Link](...),
[Link](...).

Remarque 1
L’alias np est une convention universelle dans la communauté Python. Tous les programmes
utilisant NumPy l’utilisent.

4/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Création d’un tableau — [Link]


La fonction [Link] transforme une liste en tableau :

import numpy as np

t = np . array ([1 , 2 , 3 , 4 , 5])


print ( t ) # [1 2 3 4 5]
print ( type (t ) ) # < class ' numpy . ndarray '>
print ( t . dtype ) # int64 ( type des elements )
print ( t . shape ) # (5 ,) ( forme du tableau )
print ( t . size ) # 5 ( nombre total d ' elements )

Attributs importants d’un tableau :


[Link] — forme (dimensions) du tableau, sous forme de tuple.
[Link] — nombre total d’éléments.
[Link] — type des éléments (int64, float64, etc.).
[Link] — nombre de dimensions.
5/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Tableaux multidimensionnels
Les tableaux peuvent avoir plusieurs dimensions. Pour créer une matrice, on passe une
liste de listes :

M = np . array ([[1 , 2 , 3] ,
[4 , 5 , 6]])
print ( M )
# [[1 2 3]
# [4 5 6]]

print ( M . shape ) # (2 , 3) -> 2 lignes , 3 colonnes


print ( M . ndim ) # 2 dimensions
print ( M . size ) # 6 elements au total

Remarque 2
Le shape d’une matrice est un tuple (nb_lignes, nb_colonnes). 6/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Tableaux spéciaux — zeros, ones

NumPy fournit des fonctions pour créer rapidement des tableaux particuliers :

np . zeros (5) # [0. 0. 0. 0. 0.] tableau de 0


np . ones (4) # [1. 1. 1. 1.] tableau de 1
np . zeros ((2 , 3) ) # matrice 2 x3 de zeros
np . ones ((3 , 3) ) # matrice 3 x3 de uns
np . eye (3) # matrice identite 3 x3
np . full ((2 , 2) , 7) # matrice 2 x2 remplie de 7

Exemple :
np . zeros ((2 , 3) )
# [[0. 0. 0.]
# [0. 0. 0.]]

7/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

La fonction [Link]
[Link] fonctionne comme la fonction range de Python, mais renvoie un tableau
NumPy :

[Link](debut, fin, pas)

np . arange (5) # [0 1 2 3 4]
np . arange (1 , 6) # [1 2 3 4 5]
np . arange (0 , 10 , 2) # [0 2 4 6 8]
np . arange (0 , 1 , 0.2) # [0. 0.2 0.4 0.6 0.8]

Remarque 3
Comme range, la borne inférieure est incluse et la borne supérieure est exclue. Mais
contrairement à range, le pas peut être un flottant.
8/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

La fonction [Link]

[Link] crée un tableau de n valeurs régulièrement espacées entre deux bornes :

[Link](debut, fin, n)

np . linspace (0 , 20 , 5) # [ 0. 5. 10. 15. 20.]


np . linspace (0 , 1 , 11) # [0. 0.1 0.2 0.3 ... 0.9 1.]
np . linspace ( -1 , 1 , 5) # [ -1. -0.5 0. 0.5 1.]

Remarque 4
Contrairement à arange, les deux bornes sont incluses. linspace est très utile pour générer des
points sur lesquels tracer des courbes.

9/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Indexation et slicing — Tableau 1D

L’accès aux éléments d’un tableau fonctionne comme pour les listes :

t = np . array ([10 , 20 , 30 , 40 , 50])

t [0] # 10 premier element


t [ -1] # 50 dernier element
t [1:4] # [20 30 40] de l ' indice 1 a 3 inclus
t [:3] # [10 20 30] les 3 premiers
t [2:] # [30 40 50] a partir de l ' indice 2
t [::2] # [10 30 50] un element sur deux

Remarque 5
Comme avec les listes Python, la borne inférieure est incluse et la borne supérieure exclue.
10/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Indexation et slicing — Tableau 2D


Pour un tableau 2D, on utilise deux indices séparés par une virgule [ligne, colonne] :

M = np . array ([[1 , 2 , 3] ,
[4 , 5 , 6] ,
[7 , 8 , 9]])

M [0 , 0] # 1 element en (0 , 0)
M [1 , 2] # 6 ligne 1 , colonne 2
M [0] # [1 2 3] premiere ligne complete
M [: , 1] # [2 5 8] deuxieme colonne complete
M [0:2 , 1:] # [[2 3] [5 6]] sous - matrice

Remarque 6
Le caractère : signifie toutes les valeurs. Ainsi M[:, 1] signifie toutes les lignes, colonne 1.
11/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Opérations vectorisées — La force de NumPy


NumPy permet d’appliquer une opération à tous les éléments d’un tableau en une seule
ligne, sans boucle :

t = np . array ([1 , 2 , 3 , 4 , 5])

t + 10 # [11 12 13 14 15] addition scalaire


t * 2 # [ 2 4 6 8 10] multiplication
t ** 2 # [ 1 4 9 16 25] puissance
1 / t # [1. 0.5 0.33 0.25 0.2]

Et entre deux tableaux de même forme, les opérations se font élément par élément :
a = np . array ([1 , 2 , 3])
b = np . array ([4 , 5 , 6])

a + b # [5 7 9]
a * b # [4 10 18] ( multiplication element par element ) 12/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Fonctions mathématiques universelles


NumPy fournit ses propres versions des fonctions mathématiques, qui s’appliquent à tout
un tableau d’un coup :

t = np . array ([0 , 1 , 2 , 3 , 4])

np . sqrt ( t ) # [0. 1. 1.41 1.73 2. ]


np . exp ( t ) # [1. 2.71 7.39 ...]
np . log ( t + 1) # [0. 0.69 1.09 1.38 1.60]
np . sin ( t ) # [0. 0.84 0.90 0.14 -0.75]
np . cos ( t ) # [1. 0.54 -0.41 -0.99 -0.65]

Important
Il faut utiliser [Link], [Link], [Link]... et non [Link] qui ne fonctionne que sur des
nombres seuls, pas sur des tableaux.
13/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Méthodes statistiques
NumPy fournit de nombreuses méthodes pour analyser un tableau :

t = np . array ([3 , 1 , 4 , 1 , 5 , 9 , 2 , 6])

t . sum () # 31 somme
t . min () # 1 minimum
t . max () # 9 maximum
t . mean () # 3.875 moyenne
t . std () # 2.66 ecart - type
len ( t ) # 8 nombre d ' elements

Remarque 7
Ces méthodes peuvent aussi s’écrire [Link](t), [Link](t), etc.
14/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Matplotlib — Présentation

Matplotlib est une bibliothèque de tracé de graphiques associée au langage Python et à


NumPy.

Elle permet de créer :


Des courbes (fonctions mathématiques, séries temporelles).
Des nuages de points.
Des histogrammes et diagrammes en barres.
Des graphiques en 3D, des cartes, etc.

Le sous-module qui nous intéresse est [Link], qu’on importe


traditionnellement sous l’alias plt.

15/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Importer Matplotlib

L’importation standard est la suivante :

import matplotlib . pyplot as plt


import numpy as np

On utilise donc le préfixe plt. pour appeler les fonctions de tracé.

Remarque 8
On importe quasiment toujours NumPy en même temps que Matplotlib, car on utilise des tableaux
NumPy pour générer les données à tracer.

16/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

La méthode [Link]() — Anatomie


Avant d’utiliser [Link](), comprenons comment elle fonctionne. Sa syntaxe de base
est :

[Link](x, y)

[Link] prend deux paramètres principaux :


x — un tableau (ou liste) contenant les abscisses des points à tracer.
y — un tableau (ou liste) contenant les ordonnées correspondantes.

Matplotlib relie ensuite ces points par des segments de droite pour former une courbe.
Plus on a de points, plus la courbe paraît lisse.

Remarque 9
x et y doivent avoir la même longueur, sinon Python lève une erreur. 17/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Premier tracé — Exemple


Traçons la fonction sin(x) sur [0, 2π ] :

import matplotlib . pyplot as plt


import numpy as np

# 100 points entre 0 et 2* pi


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

plt . plot (x , y ) # trace la courbe


plt . show () # affiche la
fenetre

Étapes essentielles :
1 Générer les abscisses x avec linspace.
2 Calculer les ordonnées y = f(x). 18/26

3 Appeler
Abahchouch Youness
[Link](x, y) pour tracer. CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
4 Appeler [Link]() pour afficher la fenêtre.
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Personnalisation — Titre, axes, grille


On peut enrichir le graphique avec un titre, des labels d’axes et une grille :

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

plt . plot (x , y )
plt . title ( " Fonction sinus " )
plt . xlabel ( " x " )
plt . ylabel ( " sin ( x ) " )
plt . grid ()
plt . show ()

Rôle de chaque méthode :


[Link]("...") — ajoute un titre au-dessus du graphique.
[Link]("...") — étiquette de l’axe horizontal. 19/26

[Link]("...") — étiquette de l’axe vertical.


[Link]() — affiche une grille en arrière-plan.
Abahchouch Youness
NumPy et Matplotlib
CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Personnalisation — Limites des axes

On peut aussi contrôler l’étendue des axes affichés :

plt . xlim (0 , 10) # limite l ' axe horizontal entre 0 et 10


plt . ylim ( -1 , 1) # limite l ' axe vertical entre -1 et 1
plt . axis ( " equal " ) # repere orthonorme ( meme echelle )

Rôle de chaque méthode :


[Link](a, b) — fixe les bornes minimale et maximale de l’axe horizontal.
[Link](a, b) — fixe les bornes de l’axe vertical.
[Link]("equal") — force un repère orthonormé (utile pour les figures
géométriques pour conserver les proportions).

20/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Changer la couleur d’une courbe


On peut personnaliser la couleur d’une courbe avec l’argument color de [Link] :

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

plt . plot (x , y , color = ' red ')


plt . title ( " Courbe en rouge " )
plt . grid ()
plt . show ()

Couleurs courantes :
'red', 'blue', 'green', 'black', 'orange', 'purple', 'yellow', 'pink', 'gray'... 21/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Tracer plusieurs courbes — Légende


Pour superposer plusieurs courbes, on appelle [Link] plusieurs fois :

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

plt . plot (x , np . sin ( x ) ,


color = ' blue ' , label = ' sin ( x ) ')
plt . plot (x , np . cos ( x ) ,
color = ' red ' , label = ' cos ( x ) ')

plt . title ( " Sinus et Cosinus " )


plt . xlabel ( " x " )
plt . ylabel ( " y " )
plt . legend ()
plt . grid ()
plt . show ()

Comment fonctionne la légende : 22/26

L’argument label='...' de [Link] attribue un nom à chaque courbe.


Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
[Link]() affiche ensuite ces noms dans un cadre sur le graphique.
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Nuage de points — [Link]


[Link](x, y) affiche les points sans les relier :

import numpy as np
import matplotlib . pyplot as plt

# 50 points aleatoires
x = np . random . randn (50)
y = np . random . randn (50)

plt . scatter (x , y , color = ' purple ')


plt . title ( " Nuage de points " )
plt . grid ()
plt . show ()

Rôle : [Link] est utile pour visualiser la relation entre deux variables, par exemple
en statistiques pour repérer des corrélations. 23/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Exemple complet
Tracer les fonctions f (x) = x2 et g(x) = x3 sur [−2, 2] :

import numpy as np
import matplotlib . pyplot as plt

x = np . linspace ( -2 , 2 , 200)
f = x **2
g = x **3

plt . plot (x , f , color = ' blue ' , label = '


$x ^2 $ ')
plt . plot (x , g , color = ' red ' , label = ' $x
^3 $ ')
plt . title ( " Fonctions puissances " )
plt . xlabel ( " x " )
plt . ylabel ( " y " )
plt . legend () 24/26

plt . grid ()
plt . show ()
Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Exercices

1 Créer un tableau NumPy contenant les 20 premiers entiers pairs.


2 Soit t = [Link](1, 11). Calculer (sans boucle) :
la somme des éléments de t,
le tableau des carrés de t,
la moyenne de t.

2
3 Tracer la fonction f (x) = e−x sur l’intervalle [−3, 3] avec un titre, des labels d’axes et
une grille.
4 Tracer sur le même graphique les fonctions sin(x), cos(x) et sin(x) + cos(x) sur
[0, 2π ], avec une légende.

25/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib
Introduction NumPy : les tableaux NumPy : indexation et opérations Matplotlib : tracé de graphiques Exercices

Fin !

26/26

Abahchouch Youness CPGE Agadir — Lycée Reda Slaoui Département d’informatique abahchouch@[Link]
NumPy et Matplotlib

Vous aimerez peut-être aussi