IPT_introduction aux tracés avec Python_PCSI
- page 1 -
Graphiques avec Python
On utilise le module matplotlib (voir document joint décrivant la syntaxe des commandes) :
> import matplotlib.pyplot as plt (on peut changer le nom de l'alias si on le souhaite).
Charger aussi le module numpy (alias np) qui facilite la construction des listes de valeurs (voir document).
Le principe général est de construire la liste X des abscisses, la liste Y des ordonnées correspondantes et de faire
• plt.plot(X, Y) pour tracer une courbe
• plt.scatter(X, Y) pour un nuage de points
• plt.show() une fois tous les éléments du graphique définis
• plt.close() pour fermer le graphique et passer à un nouveau graphique (sinon les graphiques se
superposent)
C'est donc la taille de X qui détermine le nombre de points du tracé. On dispose de tout un panel d'options :
aspect du trait ou des points, couleur, légende, graduations, fenêtre d'affichage, titre ... (voir document).
On propose quelques exemples pour se faire la main.
>>> Tracer la courbe de la fonction f (x) = − 2x
2
+ 5x + 3
>>> Tracer la courbe de la fonction f (x) = xcos(x)
x
2
+ 1 sur [− 10,10]
>>> Tracer la courbe de la fonction f (x) = xln(x) sur [0,4].
>>> Tracer sur un même graphique la courbe de la fonction f (x) = x (x − 2) sur [− 4,7] ainsi que les deux
asymptotes y = x − 1 en + ∞ et y = − x + 1 en − ∞.
>>> Tracer la courbe de la fonction f (x) = max(x
2
− x , − x
2
− x + 2, x
2
+ 2x − 6)
>>> Tracer la courbe de la fonction f définie sur [−2,10] par f (x) =
x
2
pour x dans [0,1]
x pour x dans [1,10]
x
3
− 3x pour x dans [− 2,0]
Pour aller plus loin
>>> Tracer la courbe de Lissajous composée des points de la forme (cos(3t) , sin(2t)) pour t dans [0,2π].
Ecrire une fonction lissajous(a,b) ayant deux paramètres entiers a et b et qui trace la courbe formée des points de
la forme (cos(at) , sin(bt)).
>>> Tracer sur un même graphique les courbes f (x) = Arcsin(x) + a
x pour un échantillon de valeurs de a, incluant la
valeur a = 0 (utiliser np.arcsin(x) ou math.arcsin(x))
>>> Ecrire une fonction prenant en argument un point C et un réel positif R et qui trace le cercle de centre C et de
rayon R.
>>> Ecrire une fonction pts_aleatoires(N) qui prend en paramètre un entier N et qui affiche N points aléatoires dans
le carré [0,1] × [0,1] : on chargera le module random et on utilisera la commande random.random() qui retourne
un nombre flottant aléatoire entre 0 et 1. On construit ainsi la liste des abscisses et celle des ordonnées puis on
utilise plt.scatter.