Le code suivant est tracé dans deux fichiers PostScript (.ps), mais le second contient les deux lignes.
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
plt.subplot(111)
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("first.ps")
plt.subplot(111)
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
Comment puis-je dire à matplotlib de recommencer pour le deuxième tracé?
Vous pouvez utiliser figure
pour créer un nouveau tracé, par exemple, ou utiliser close
après le premier tracé.
Il y a un ordre de figure clair, et il devrait le faire pour vous:
plt.clf()
Si vous avez plusieurs intrigues secondaires dans la même figure
plt.cla()
efface les axes actuels.
Comme l'a dit David Cournapeau, utilisez la figure ().
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
plt.figure()
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("first.ps")
plt.figure()
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
Ou sous-parcelle (121)/sous-parcelle (122) pour la même parcelle, position différente.
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
plt.subplot(121)
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.subplot(122)
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
Entrez simplement plt.hold(False)
avant le premier plt.plot et vous pourrez vous en tenir à votre code original.
Si vous utilisez Matplotlib de manière interactive, par exemple dans une application Web (par exemple, ipython), vous recherchez peut-être
plt.show()
au lieu de plt.close()
ou plt.clf()
.
Si aucun d’entre eux ne fonctionne, cochez cette case. Dites si vous avez des tableaux de données x et y sur l’axe respectif. Puis vérifiez dans quelle cellule (jupyter) vous avez initialisé x et y pour vider. En effet, vous ajoutez peut-être des données à x et y sans les réinitialiser. Donc, l'intrigue a aussi des données anciennes. Alors vérifiez que ..