Pour tracer des courbes,il faut importer des bibliothèques spécifiques de Python qui sont généralement:
- matplotlib.pyplot
- numpy
Ces deux bibliothèques combinées dans un programme suffisent pour réaliser de belles courbes :
La bibliothèque numpy est utilisée pour le calcul matriciel avec une structure de tableau. On l'utilise pour les vecteurs et les matrices.
La bibliothèque matplotlib.pyplot sert à visualiser les tracés de points, de courbes, agir sur les axes et leurs légendes ou commentaires des graphiques.
Pour importer la bibilothèque numpy on utilise généralement la syntaxe suivante :
import numpy as np
Pour importer la bibilothèque matplotlib.pyplot on utilise généralement la syntaxe suivante :
import matplotlib.pyplot as plt
Différentes méthodes seront ensuites utilisées pour tracer des points, des courbes.
| MATRICES ET METHODES AVEC NUMPY |
|---|
| EXEMPLES : | INTERPRETATION |
| L1 = np.array ([3,8,9]) | np.array( L ) création d'une matrice à 1 ligne et p colonnes si L
est une liste à p éléments Dans l'exemple on a crée une matrice à 1 ligne et 3 colonnes 3 est l'élément de la première ligne et de la première colonne
8 est l'élément de la première ligne et de la deuxième colonne 9 est l'élément de la première ligne et troisième colonne |
| L2 = np.array ([2,3,4] , [3,7,8]) | np.array (L1,L2) création d'une matrice à 2 lignes et p
colonnes si L1 et L2 contiennent p éléments Dans l'exemple on a crée une matrice 2 lignes et trois colonnes |
| L1 [0] = 3 | L0] retourne le premier éléments d'une liste |
| L2 [ 2,3] = 8 | L2 [i,j] retourne l'élément de i ième ligne et j ième colonne |
| L2[0; :] = [2,3,4] | L[ 0; :] retourne la ligne d'indice 0 la première ligne |
| L2 [ :; 1] = [3,7] | L[:;1] retourne la colonne d'indice 1 |
| L =np.zéros(4)=[0,0,0,0] | np.zeros(n,m)retourne la matrice n X m avec que des zéros |
| CREATION DE POINTS:NUMPY ou MATPLOTLIB.PYPLOT : |
|---|
| EXEMPLES | INTERPRETATION |
plt.xlim(valeur1, valeur 2) plt.ylim(valeur1,valeur2) | La courbe est tracée pour: les valeurs limites de x et y |
x=np.linspace(-10, 20, 50) y= np.linspace(-5, 15, 50) | np.linspace (valeur1, valeur2 , N) la valeur de la variable
varie entre la valeur1 et la valeur2 (inclus) , N représente le nombre de points à tracer |
x=np.arange(-10, 20, 5) y= np.arange( -5, 15, 5) | np.arange (valeur1, valeur2 , p) la valeur de la variable
varie entre la valeur1 et la valeur2 ( exclus!) p représente le pas r |
x=np.arange(-10, 20, 5) y= x**2 | ici, y est en fonction de x |
x=[-2,3,10] y= [ 5,3,9] | x est y sont des listes
trois points de coordonnées A(-2,5) ,B (3,3) C( 10,9) seront tracés et reliés dans l'ordre par une ligne brisée
|
| FONCTIONS |
|---|
| GRILLE / TRACE DE COURBE | INTERPRETATION |
plt.plot (x,y) plt.plot(x,y," couleur") plt.plot(x,y ,label =" commentaire") plt.legend() | Trace des points prédéfinis On rajoute de la couleur (en anglais , black, red etc... à la courbe On rajoute une légende |
| plt.grid() | Affiche une grille |
| plt.axis([ xmin,xmax,ymin,ymax]) | valeur minimales et maximales sur les axes |
| plt.title (" commentaire") | Affiche un titre (commentaire) à la figure |
| plt.show() | INDISPENSABLE pour montrer la courbe! |
Exemple 1:
Tracé d'une fonction affine dont on connaît les points " extrêmes" suivants :
A( -5,2) B(-1,3) C(4,-2)
| En langage Python |
|---|
import matplotlib.pyplot as plt
# création de listes #
x=[ -5,-1,4]
y=[2,3,-2]
# permet de tracer les points
dans l'ordre#
# ces points sont reliés automatiquement
par un segment #
plt.plot(x,y)
#création d'une grille #
plt.grid()
plt.show()
|
résultat:
L'échelle des axes est crée par défaut ,ainsi que les couleurs
Exemple 2: Tracé de la fonction f(x)=cosx sur [0, 2pi]
| En langage Python |
|---|
import matplotlib.pyplot as plt
import numpy as np
# x varie sur [0,2pi],et 20 valeurs#
x = np.linspace(0,2 * np.pi, 20)
# on met la fonction f(x)= cos(x)#
#avec np.cos(x)#
y = np.cos(x)
plt.plot(x,y)
#légende des axes et de la figure#
plt.ylabel('axe des ordonnées')
plt.xlabel("axe des abscisses ")
plt.title("fonction cosinus")
plt.show()
|
résultat :
Exemple 3:
Tracé de courbes de deux fonctions définies par f(x)=cosx et g(x)=sin(x) sur [0, 2pi]
| En langage Python |
|---|
import matplotlib.pyplot as plt
import numpy as np
# x varie sur [0,2pi],et 20 valeurs#
x = np.linspace(0,2 * np.pi, 20)
# on met la fonction f(x)= sin(x)#
#avec np.sin(x)#
y1 = np.cos(x)
y2=np.sin(x)
plt.plot(x,y1,label="cos(x)")
plt.plot(x,y2,"r",label="sin(x)")
#légende des axes et de la figure#
plt.ylabel('axe des ordonnées')
plt.xlabel("axe des abscisses ")
plt.title("fonction cosinus et sinus")
plt.legend()
plt.show()
|
resultat:
Exemple 4:
Tracé d'une courbe par interpolation sur [0, 2pi]
| En langage Python |
|---|
# x varie sur [0,2pi],et 20 valeurs#
x = np.linspace(0,2 * np.pi, 20)
# on met la fonction f(x)= cos(x)#
#avec np.cos(x)#
y = np.cos(x)
yp = None
#tracer de 50 valeurs intermédiaires#
xi = np.linspace(x[0], x[-1], 50)
#interpolation #
yi = np.interp(xi, x, y, yp)
#création des axes,les points #
#intermédiaires#
# sont ronds et oranges #
fig, ax = plt.subplots()
ax.plot(x, y, 'r', xi, yi, 'k:.')
#légende des axes#
plt.ylabel('axe desordonnés')
plt.xlabel("axe des abcisses ")
plt.title ("interpolation de la fonction cosx")
plt.show()
|
résultat:
FONCTION A DEUX VARIABLES
Exemple:Tracé d'une Gaussienne
| En langage Python |
|---|
import pylab as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
sigma=1
fig = plt.figure()
ax = Axes3D(fig)
x=np.arange(-1,2,0.25)
y=np.arange(-1,2,0.25)
x,y=np.meshgrid(x,y)
z=(1/(2*3.14*sigma**2))*
np.exp(-(x**2+y**2)/(2*(sigma**2)))
ax.plot_surface(x,y,z,cmap='hot')
plt.show()
|
résultat: