Matplotlib: graphe 2D: Difference between revisions

From Wiki Cours
Jump to navigation Jump to search
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
[[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 ==
<math> \sum_i a_i</math>


On utilise la bibliothèque '''Pylab''' de '''matplotlib'''
On utilise la bibliothèque '''Pylab''' de '''matplotlib'''
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 18: Line 21:
show()
show()
</source>
</source>
Dont voici le résultat
[[File:tension.png|400px]]
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'''
<source lang="py">
<source lang="py">
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 31: 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