Domanda

I seguenti trame codice a due file PostScript (.ps ), ma la seconda contiene entrambe le linee.

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")

Come faccio a sapere matplotlib di ripartire per la seconda trama?

È stato utile?

Soluzione

È possibile utilizzare figure per creare una nuova trama, ad esempio, o utilizzare close dopo la prima trama.

Altri suggerimenti

C'è un comando chiara figura, e dovrebbe farlo per voi:

plt.clf()

Se si dispone di più sottotrame nella stessa figura

plt.cla()

cancella gli assi attuali.

Come affermato da David Cournapeau, uso figura ().

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")

O subplot (121) / subplot (122) per la stessa trama, posizione diversa.

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")

Basta inserire plt.hold(False) prima della prima plt.plot, e si può attaccare al vostro codice originale.

Se stai usando Matplotlib in modo interattivo, ad esempio in un'applicazione web, (per esempio ipython) si forse alla ricerca di

plt.show()

al posto di plt.close() o plt.clf().

Se nessuno di loro stanno lavorando quindi controllare questo .. diciamo se si dispone di x e y array di dati lungo rispettivo asse. Allora in quale cella (jupyter) è stato inizializzato xey svuotare. Questo perché, forse si sta allegando i dati alla xey senza di loro re-inizializzazione. Così trama ha troppo vecchi dati. Quindi verificare che ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top