Comment puis-je dire matplotlib que je suis fait avec un terrain?
-
09-09-2019 - |
Question
Les parcelles de code suivant à 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 prendre un nouveau départ pour la deuxième parcelle?
La solution
Vous pouvez utiliser figure
pour créer une nouvelle parcelle, par exemple, ou utiliser close
après la première parcelle.
Autres conseils
Il y a une commande de chiffre précis, 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 il est indiqué de David Cournapeau, figure l'utilisation ().
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 intrigue secondaire (121) / intrigue secondaire (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")
Il suffit de saisir plt.hold(False)
avant le premier plt.plot, et vous pouvez coller à votre code d'origine.
Si vous utilisez Matplotlib de manière interactive, par exemple dans une application Web, (par exemple ipython) vous cherchez peut-être pour
plt.show()
au lieu de plt.close()
ou plt.clf()
.
Si aucun d'entre eux travaillent alors vérifier .. dire si vous avez x et y des tableaux de données le long de l'axe respectif. Ensuite, vérifier dans quelle cellule (jupyter) vous avez initialisé x et y vider. En effet, peut-être vous apposent des données à x et y, sans les ré-initialisation. Ainsi, les anciennes données de terrain a aussi. vérifier que ..