Matplotlib est une bibliothèque Python distribuée librement et gratuitement sous licence gratuite, elle permet de tracer et de visualiser des données sous formes de graphiques. Elle est généralement utilisée avec les bibliothèques python de calcul scientifique numpy et scipy. Les trois composants réunis représentent une bonne alternative à Matlab.
Matplotlib est facile à installer, plusieurs méthodes sont possibles:
Ci après quelques exemples simples.
1. Tracé de la fonction sinus:
Ce premier exemple, très simple, permet de tracer la fonction sinus. Dans ce programme on doit d'abord importer le module maplotlib.pyplot, appeler la fonction plot du module et afficher la fenêtre avec la fonction show:
2. Tracé d'une fonction à deux variables:
Ce second exemple permet de tracer une fonction à deux variables sous forme d'image, ceci en utilisant un système de couleur correspondant aux valeurs
import matplotlib.pyplot as pl
#définition de la fonction
def f(x, y):
return (1-x/2 + x**5 + y**3) * np.exp(-x**2 - y**2)
n = 50
x = np.linspace(-3, 3, 4 * n)
y = np.linspace(-3, 3, 3 * n)
X, Y = np.meshgrid(x, y)
pl.imshow(f(X, Y))
pl.show()
Matplotlib est facile à installer, plusieurs méthodes sont possibles:
- Depuis http://matplotlib.org/
- En utilisant l'outil pip
- En utilisant le paquet correspondant à la distribution (Machine Unix), exemples:
- Ubuntu : sudo apt-get install Python-matplotlib
- Debian : sudo apt-get install python-matplotlib
- Centos7: yum install python-matplotlib (en mode admin 'su')
Ci après quelques exemples simples.
1. Tracé de la fonction sinus:
Ce premier exemple, très simple, permet de tracer la fonction sinus. Dans ce programme on doit d'abord importer le module maplotlib.pyplot, appeler la fonction plot du module et afficher la fenêtre avec la fonction show:
import numpy as np
import matplotlib.pyplot as plt
#un tableau contenant 100 valeurs entre 0 et 2pi
x=np.linspace(0,2*pi,100)
#tracé de la courbe passant par les points de coordonnées (x, sin(x))
plt.plot(x, sin(x))
#affichage de la fenêtre
plt.show()
2. Tracé d'une fonction à deux variables:
Ce second exemple permet de tracer une fonction à deux variables sous forme d'image, ceci en utilisant un système de couleur correspondant aux valeurs
import matplotlib.pyplot as pl
#définition de la fonction
def f(x, y):
return (1-x/2 + x**5 + y**3) * np.exp(-x**2 - y**2)
n = 50
x = np.linspace(-3, 3, 4 * n)
y = np.linspace(-3, 3, 3 * n)
X, Y = np.meshgrid(x, y)
pl.imshow(f(X, Y))
pl.show()
3.Tracé d'une fonction à deux variables en 3D
Ce troisième exemple permet de tracer la même fonction mais cette fois en 3D
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X,Y=np.meshgrid(X, Y)
W=(1-X/2 + X**5 + Y**3) * np.exp(-X**2 - Y**2)
ax.plot_surface(X, Y, W, rstride=1, cstride=1, cmap=plt.cm.jet)
plt.show()
Ce troisième exemple permet de tracer la même fonction mais cette fois en 3D
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X,Y=np.meshgrid(X, Y)
W=(1-X/2 + X**5 + Y**3) * np.exp(-X**2 - Y**2)
ax.plot_surface(X, Y, W, rstride=1, cstride=1, cmap=plt.cm.jet)
plt.show()
Aucun commentaire:
Enregistrer un commentaire