La passion du libre

Graphiques avec pyplot (toujours en cours d'élaboration)

Cliquez sur le bouton pour afficher les conseils de lecture.Cliquez à nouveau pour les masquer

Fenêtres surgissantes explicatives

Certains mots dans le texte, affichés en vert et en gras, sont précédés d'une étoile verte sur fond orange. Par exemple, ce mot : lien.

Si vous placez le pointeur de la souris sur un tel mot, une fenêtre surgissante – popup – s'ouvre alors que l'affichage du reste du documment s'atténue. Cette fenêtre contient une explication détaillée du mot en question

Une fois que vous avez pris connaissance de ce que vous affiche cette fenêtre surgissante, vous pouvez retourner à l'état normal en cliquant ailleurs dans le document.

Navigation

Pour naviguer, utilisez le menu vertical à gauche du texte. Les entrées de menu marquées d'une petite flèche vers le bas ouvrent un sous-menu lorsqu'on clique dessus.

Vous pouvez également choisir une lecture continue en cliquant sur un des liens proposés en bas de page.

Principes d'interactivité

Avant de commencer à utiliser pyplot, il est bon de connaître certains principe de base de l'interactivité

Le prompt de python

Une fois python lancé, l'invite de commandes (prompt) de python s'affiche :

[jaaf@jaaf-pc ~]$ python3
Python 3.5.3 (default, Apr 24 2017, 13:32:13) 
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Rappelons que l'on sort de l'interpréteur par ctr+D

Interactivité « activée » ou « désactivée »

L'interactivité en ligne de commande fonctionne selon deux modes : « True » (activé) et « False » (désactivé).

Par défaut, à l'entrée dans l'interpréteur de commandes de python, l'interactivité est désactivée.

Pour le vérifier on tape :

>>> import matplotlib.pyplot as plt
>>> plt.isinteractive()
False
>>> 

La commande import est faite une fois pour toute.

Ensuite, on pase de False à True, ou l'inverse par les commandes :

>>> plt.ion()
>>> plt.isinteractive()
True
>>> plt.ioff()
>>> plt.isinteractive()
False
>>> 

Interactivité désactivée

Dans ce mode, les dessins produits par les commandes de tracé s'empilent sur la figure tant qu'une commande show() n'est pas donnée.

>>> plt.clf() # efface tout tracé préexistant sur la figure (précaution)
>>> plt.plot([2,0,4,8]) # crée une figure si aucune n'existe alors, trace une ligne passant par les points (1,2) (2,0) (3,4) (4,8) 
[<matplotlib.lines.Line2D object at 0x7f298b873198>]
>>> plt.plot([1,7,8,2],'ro') # trace les points de coordonnées indiquées en point rouge
[<matplotlib.lines.Line2D object at 0x7f298b873dd8>]
>>> plt.show()

La commande show() affiche la figure suivante : interactivité-01.png

Vous n'avez alors plus l'invite de commande et il faut attendre d'avoir fermé la fenêtre de visualisation de l'image pour retrouver cette invite.

Une fois la fenêtre fermée la figure est perdue, et il faut une nouvelle commande de tracé pour recommencer une nouvelle figure.

Si au lieu de la fonction show(), on appelle la fonction plt.savefig(), on peut continuer à empiler les tracés sur la figure, puis refaire un plt.savefig() à la fin.

Interactivité activée

Dans ce cas, la première commande de tracé provoque l'affichage automatique de la figure avec le tracé. La fenêtre d'affichage présente à l'écran, les nouvelles commandes mettent la figure à jour.

Une fois la fenêtre refermée, la figure est perdue. Et on recommence un cycle.

Dans un script

Dans un script, on n'a pas trop à s'en soucier. On fait ses tracés puis à la fin du script on appelle plt.savefig() , puis éventuellement une commande plt.show() pour afficher le résultat. Attention cependant à respecter l'ordre de ces deux commandes.