- Matplolib -
1. Le tracé de courbes dans Matplotlib
Le t racé de courbes est effectué grâce au riche module matplotlib, qui propose des outils de tracés multip les. Le site internet dédié à ce module (http:// matplotlib.o rg/) vous montrera entre autre la galerie imp ressionnante de tracés possibles.
Nous allons vous montrer ceu x qui sont les plus utilisés en ingénierie numé rique et attendus aux concours.
Le module matplotlib, co mme tout autre module de Python (numpy, math …) se charge grâce à la co mmande import. C’est la fonction pyplot de ce module qui permet de t racer des courbes.
2. Découverte de Matplotlib
Afin de personnaliser vos tracés (légendes, titres, axes ….), il est important de maîtriser les outils suivants présents de base dans le module matplot lib.
Légendes : p lt.xlabel('a xe des abscisses') # Légende sur l'a xe (Ox) plt.ylabe l('fonction sinus') # Légende sur l'a xe (Oy)
Grille : plt.grid() Bornes : plt.a xis([xmin,xma x,y min,y ma x])
Couleurs du tracé : g = green, r = red, k = noir, b =bleu, c = cyan, m =magenta, y = ye llo w
e x : plt.p lot(x,y,'r') trace en rouge
Symboles : mettre des symboles aux points tracés : symboles= *, - , + , . , etc...
e x : plt.p lot(x,y,marker='*') trace avec * au x points de données et relie les points.
p lt.plot(x,y,'*) trace les points en les marquants par * sans les relie r.
Style du tr acé : plt.p lot(x,y,ls='style') style = - - t irets, -. points-tirets, : pointillés (ls signifie linestyle) Épaisseur du tr ait : plt.p lot(x,y,lw=flottant) (lw signifie line width)
Ajouter un titre : plt.t itle ('Tit re')
Ajouter du te xte e n un poi nt donné : p lt.te xt(1,-1, ' Te xte ' , color='b') Mettre une légende dans la fenê tre : legend()
e x : plt.p lot(X,Y,label='cosinus') ou p lt.legend(loc = 'upper left') # p lace la légende cosinus en haut à gauche
Découvrons à présent matplotlib avec quelques petits exercices simples avec les apport s méthodologiques.
Tracer une ligne brisée
Exerc ice 0 :
Tracer une ligne brisée reliant les points de coordonnées A(1,0), B(3,6), C(5,2) et D(7,3)
Tracer une courbe d’équation y=f(x)
Exerc ice 1:
Tracer le graphe de la fonction sinus sur [0,2π] , avec une légende "sinus" marquée en haut à droite et sauver fich ier en pdf.
Tracer plusieurs courbes dans une même fenêtre
Exerc ice 2 :
Tracer le graphe des fonctions sinus, cosinus sur [0,2π] avec 2 légendes centrées à gauche dans une mê me fenêtre.
Exerc ice 3:
Tracer p lusieurs graphes de la fonction sinus sur [0,2π] , un pour chaque valeur de N dans [1,10] où N préc ise le no mbre de valeurs équidistantes de 0 à 2π .
Tracer sur plusieurs fenêtres
Exerc ice 4:
Tracer le graphe des fonctions cosinus, sinus et exponentielle avec des légendes de votre choix sur chacune d'elle dans trois fenêtres différentes et sauvegarder les figures en pdf.
Exerc ice 5 :
Tracer cosinus et sinus dans une mê me fenêtre, cosinus en rouge et ligne contin ue, sinus en bleu
et pointillés , mettre une légende "axe des abscisses" et en ordonnée: "en bleu =cosinus, en rouge=sinus". Afficher aussi la grille.
Tracer plusieurs sous-graphiques dans une même fenêtre
Exerc ice 6 :
Tracer les fonctions cosinus, sinus, log, e xponentielle dans des sous -graphiques d'une mê me fenêtre. On ne veut pas plus de quatre sous-graphiques. Mettre les titres centre haut des tracés et la grille pour chacun.
Elé ments de correction :
3. Quelques exercices d’approfondissement
Exerc ice 1 :
Ec rire un script pour tracer, en b leu, la courbe représentant la fonction :
f : x x2sin(1/x2) sur l’intervalle I= [-π/8 π/8]
Tracer sur le mê me graphe, en rouge, les courbes représentant les fonctions : g : x x2 et -g
On prendra N=1000 points d’échantillonnage pour le tracé Solution :
Exerc ice 2 :
Vous alle z tracer la courbe para métrée de Lissajous.
Ec rire une fonction traceLissajous(n,phi) qui trace la courbe paramétrique pour t variant dans l’intervalle [0 100π], avec 2000 points de calculs, pour a=b=1. Puis tester là avec n=8/ 5 et phi=π/6
Solution :