De nombreux guides utilisent d'autres fonctions pour afficher proprement des graphiques, voici quelques compléments pour mieux les comprendre.
Pour le moment, nous avons appris à tracer un graphique via un appel du genre :
import numpy as npimport matplotlib.pyplot as pltx=np.arange(10)#Les données vont de 0 à 10plt.plot(x,x**2)#On trace x² en fonction de xplt.show()#On affiche le graphique
Figure
Cette partie est très simple mais permet de mieux comprendre le fonctionnement de matplotlib.pyplot
Dans certains code, on peut voir une ligne supplémentaire :
La différence est subtile : elle se trouve dans le titre de la fenêtre.
On retrouvera également ce nom lors de l'enregistrement d'un fichier.
Cette ligne ne sert d'un premier abord pas à grand chose, elle permet juste de dire "Dans une fenêtre, fait un graphique".
Elle a cependant une utilité importante, c'est qu'elle permet de construire plusieurs graphiques, et de les afficher ensuite, lors de l'appel plt.show()
Les deux courbes sont sur le même graphique
On obtient 2 graphiques dans deux fenetres
En résumé, figure configure la fenêtre d'affichage.
Attribuer une variable à une fenetre, à un graphique...
Il est parfois plus simpler d'attribuer une variable à un élement d'une représentation (fenêtre, graphique, sous-graphique...) et de le manipuler ensuite tel un objet.
Ainsi on peut attribuer une variable à une fenêtre :
On pourra alors plus facilement ajouter un graphique à une fenetre particulière.
Cette méthode est très souvent employée même si son utilisation peut dérouter au début.
Une fenêtre, plusieurs graphiques
Comment afficher plusieurs graphiques dans une fenetre, 2 méthodes préconisées.
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(10) #Les données vont de 0 à 10
plt.figure("Graphique 1")
plt.plot(x,x**2) #On trace x² en fonction de x
plt.show() #On affiche le graphique
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(10) #Les données vont de 0 à 10
plt.plot(x,x**2) #On trace x² en fonction de x
plt.plot(x,x**3) #On trace x^3 en fonction de x
plt.show() #On affiche le graphique
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(10) #Les données vont de 0 à 10
plt.figure("Graphique 1") #1er graphique
plt.plot(x,x**2) #On trace x² en fonction de x
plt.figure("Graphique 2") #2nd graphique
plt.plot(x,x**3) #On trace x^3 en fonction de x
plt.show() #On affiche le graphique
fenetre1 = plt.figure("Fenetre 1") #1ere fenetre
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(10) #Les données vont de 0 à 10
plt.figure('Fenetre 1')
plt.subplot(211)
plt.plot(x,x**2) #On trace x² en fonction de x
plt.subplot(212)
plt.plot(x,x**3) #On trace x^3 en fonction de x
plt.show() #On affiche le graphique
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(10) #Les données vont de 0 à 10
fenetre1 = plt.figure('Fenetre 1') #La première fenetre s'appelle fenetre1
graphique1 = fenetre1.add_subplot(211) #On ajoute un sous-graphique à la fenetre 1. Ce sous-graphique est lié à la variable "graphique1"
graphique1.plot(x,x**2) #On configure "graphique1"
graphique2 = fenetre1.add_subplot(212) #On ajoute un autre sous-graphique à la fenetre 1. Ce sous-graphique est lié à la variable "graphique2"
graphique2.plot(x,x**3) #On configure "graphique2"
plt.show() #On affiche le graphique
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(10) #Les données vont de 0 à 10
fenetre1, (graphique1,graphique2) = plt.subplots(1,2) #La fenetre 1 possède deux sous-graphiques nommés ; il y a une ligne et 2 colonnes)
graphique1.plot(x,x**2)
graphique2.plot(x,x**3)
plt.show()
fig, ax = plt.subplots() #fig = fenetre; ax = graphique. On demande à
ax.plot(...)
plt.show()
exemple.py
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
fig,ax1 = plt.subplots()
ax1.plot(x,x**2)
plt.show()