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?

Était-ce utile?

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 ..

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top