Tracé avec Matplotlib
# import de NumPy : le module fournissant les tableaux (arrays)
import numpy as np
# creation d'un array avec 2000 valeurs régulièrement espacée entre 1 et 10
t = np.linspace(1, 10, 2000)
# import de matplotlib.pyplot : le module pour le tracé de graphiques
import matplotlib.pyplot as plt
plt.plot(t, np.cos(t))
Mode inline
Dans un notebook IPython / Jupyter, il faut avoir au préalable indiqué que l'on souhaite utiliser Matplotlib en mode inline en plaçant sur la première cellule du notebook l'instruction.
%matplotlib inline
Dans un script Python, pour afficher la figure, il est nécessaire d'utiliser :
plt.show()
La figure peut également être sauvée sous forme d'image (bitmap) à l'aide de :
plt.savefig("nom_fichier_image.png")
Galerie
Voir d'autres tracés:
Galerie de tracés Matplotlib : http://matplotlib.org/gallery.html
Figure, axes et subplots
Il est possible sur une même figure d'effectuer plusieurs tracés.
fig
est un Figure
.
ax1
et ax2
sont les objets (AxesSubplot
) sur lesquels on effectue le tracé.
import numpy as np
import matplotlib.pyplot as plt
x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)
fig, axs = plt.subplots(2, 1, sharex=True)
ax1, ax2 = axs
ax1.plot(x1, y1, 'yo-') # y=yellow o=rond -=trait continu
ax1.set_title('Une histoire en 2 morceaux')
ax1.set_ylabel('Oscillation amortie')
ax2.plot(x2, y2, 'r.-') # r=red .=point -=trait continu
ax2.set_xlabel('time (s)')
ax2.set_ylabel('Non amortie')
plt.show()
Scatter plot
x = np.random.random(1000)
y = np.random.random(1000)
plt.scatter(x, y)
plt.show()
On peut modifier la transparence des points à l'aide du paramètre alpha=valeur
(valeur
étant un nombre réel compris entre 0 et 1)
Subplots
Il est possible d'afficher sur une même figure plusieurs tracés (subplots)
voir http://matplotlib.org/examples/pylab_examples/subplots_demo.html