Le module MatPlotLib

Tracer les courbes

Matplotlib (précisément son sous module pyplot) permet de tracer les courbes : import matplotlib.pyplot as plt

Pour cela, il attend deux tableaux x et y contenant les abscisses et les ordonnées des points de la courbe.

Exemple :  Tracer de la fonction sinus : on trace la fonction sinus entre -pi et 3pi, 100 valeurs

  •  import math as m
  • import matplotlib.pyplot as plt
  • x=[-m.pi]
  • y=[m.sin(x[0])]
  • p=4*m.pi/100  
  • for i in range(1,100):
  •     x.append(x[0]+i*p)
  •     y.append(m.sin(x[i]))            
  • plt.plot(x,y)  
  • plt.ylabel('fonction sinus')
  • plt.xlabel("l'axe des abcisses")
  • plt.show()  

Une fenêtre s'ouvre avec la figure ci-dessus. On peut alors zoomer, déplacer la figure, sauvegarder dans un format PNG, PDF, EPS, etc.

options pour tracer les courbes

[bornes : ]spécifier un rectangle de représentation, ce qui permet  d'éviter les grandes valeurs des fonctions qui écraseraient le graphe.

Commande :

  •    plt.axis([xmin,xmax,ymin,ymax])

 [couleur du trait : ]pour changer la couleur du tracé une lettre g vert (green), r rouge (red), k noir, b bleu, c cyan, m magenta, y jaune (yellow), w blanc (white).

Commande :

  • plt.plot(x,y,'r')
  • plt.show()

 [style du trait : ] Au choix '-' ligne continue, '--' tirets, '-.' points-tirets, ':' pointillés?

Commande :

  • plt.plot(x,y,'r--')
  • plt.show()

 Histogrammes : plt.hist

hist  est une fonction de la bibliothèque matplotlib.pyplot permettant de tracer un histogramme

 syntaxe : hist(x, bins=10, cumulative=False, normed=1, histtype='bar',  orientation='vertical')

  •   x est une liste de valeurs non triées
  •   Si bins est un entier, bins+1 est le nombre de classes (par défaut 10) ; mais bins peut être une liste, la liste des bornes des classes.
  •   si cumulative = True alors on a les fréquences cumulées.
  •   normed=true transforme les effectifs en fréquences.
  •   histtype indique la forme de l'histogramme
    •   'bar' : des barres
    •   'step' : des lignes; 'stepfilled' : des lignes et on remplit sous la courbe.
  •  orientation : 'vertical' , 'horizontal'

 Il y a d'autres possibilités comme le choix de la couleur  

Exemple :

  •  import matplotlib.pyplot as plt
  • import numpy as np
  • x = 100 + 15 * np.random.randn(10000) #? création de 10000 valeurs aléatoires
  • # histogramme des donn\'es
  • plt.hist(x, 10, normed=1, facecolor='g', alpha=0.75, histtype='step')
  • plt.xlabel('Donn\'ees') ; plt.ylabel('Probabilite') ; plt.title('Histogramme')
  • plt.axis([40, 160, 0, 0.03]) ; plt.grid(True)
  • plt.show()

 Pour tracer plusieurs courbes

  •  import math as m
  • import matplotlib.pyplot as plt
  • x=[-m.pi] ; y=[m.sin(x[0])] ; z=[m.cos(x[0])]
  • p=4*m.pi/100  # On trace les fonction sinus et cosinus entre -pi et 3pi, 100 valeurs
  • for i in range(1,100):
  •     x.append(x[0]+i*p)
  •     y.append(m.sin(x[i]))
  •     z.append(m.cos(x[i]))            
  • plt.plot(x,y,'b:')  
  • plt.plot(x,z,'r--')
  • plt.ylabel('fonction sinus - cosinus')
  • plt.xlabel("l'axe des abcisses")
  • plt.show()
     
Fichier Joint: 

Ajouter un commentaire

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Saisir les caractères affichés dans l'image.