Matplotlib: graphe 2D: Difference between revisions

From Wiki Cours
Jump to navigation Jump to search
m (Wiki-cours moved page Numpy: graphe 2D to Matplotlib: graphe 2D)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
[[Memento_Python|<--Sommaire]]
[[Memento_Python|<--Sommaire]]
* Plus de détails sur le web: [http://msiefert.bitbucket.org/informatique/memento/numerique_python.pdf Fiche Résumé]
== Création d'un graphe 2D ==
== Création d'un graphe 2D ==


Line 9: 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 = map(f,t)
s = list(map(f,t))  # la conversion en list() est inutile en Python 2
plot(t, s)
plot(t, s)


Line 21: Line 24:


[[File:tension.png|400px]]
[[File:tension.png|400px]]
Rappelons qu'avec IPython, la ligne suivante permet de faire afficher le résultat dans l'output donc sans ouvrir de fenêtre.
<source lang="py">
%matplotlib inline
</source>


Il est en général plus simple de générer les tableaux avec la classe '''array''' qui est importée par '''pylab'''
Il est en général plus simple de générer les tableaux avec la classe '''array''' qui est importée par '''pylab'''
Line 31: Line 29:
from pylab import *
from pylab import *


t = np.arange(0.0, 2.01, 0.01)
t = np.arange(0.0, 2.01, 0.01) # numpy importe sous le nom np
s = sin(pi*t)*exp(-t)
s = sin(pi*t)*exp(-t)
plot(t, s)
plot(t, s)
Line 40: Line 38:
grid(True)
grid(True)
show()
show()
</source>
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.
<source lang="py">
%matplotlib inline
</source>
</source>

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