Matplotlib: graphe 2D: Difference between revisions

From Wiki Cours
Jump to navigation Jump to search
 
Line 12: Line 12:
f = lambda x: sin(x*pi)
f = lambda x: sin(x*pi)
t = [ 0.01*i for i in range(201) ]
t = [ 0.01*i for i in range(201) ]
s = list(map(f,t))  # la conversion en list() inutile en Python 2
s = list(map(f,t))  # la conversion en list() est inutile en Python 2
plot(t, s)
plot(t, s)



Latest revision as of 17:46, 8 September 2016

<--Sommaire

Création d'un graphe 2D

On utilise la bibliothèque Pylab de matplotlib

from pylab import *

f = lambda x: sin(x*pi)
t = [ 0.01*i for i in range(201) ]
s = list(map(f,t))   # la conversion en list() est inutile en Python 2
plot(t, s)

xlabel('temps (s)')
ylabel('Tension (mV)')
title('Signal sinusoidal')
grid(True)
show()

Dont voici le résultat

Tension.png

Il est en général plus simple de générer les tableaux avec la classe array qui est importée par pylab

from pylab import *

t = np.arange(0.0, 2.01, 0.01)  # numpy importe sous le nom np
s = sin(pi*t)*exp(-t)
plot(t, s)

xlabel('temps (s)')
ylabel('Tension (mV)')
title('Signal sinusoidal')
grid(True)
show()

On notera que les fonctions linspace() et logspace() de numpy permettent de générer un nombre de points fixé dans un intervalle donné et répartis soit linéairement soit logarithmiquement.

Rappelons que pour les utilisateurs d'IPython, la ligne suivante permet de faire afficher le résultat dans l'output donc sans ouvrir de fenêtre.

%matplotlib inline