El siguiente código traza dos archivos PostScript (.ps), pero el segundo contiene ambas líneas.
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")
¿Cómo puedo decirle a matplotlib que comience de nuevo para la segunda trama?
python
matplotlib
plot
Stefano Borini
fuente
fuente
Respuestas:
Puede usar
figure
para crear una nueva trama, por ejemplo, o usarclose
después de la primera trama.fuente
plt.savefig("first.ps")
?Hay un comando de figura clara, y debería hacerlo por usted:
Si tiene varias subtramas en la misma figura
borra los ejes actuales.
fuente
Como lo indica David Cournapeau, use figure ().
O subplot (121) / subplot (122) para el mismo diagrama, posición diferente.
fuente
plt.clf()
, las cifras se mantienen en la memoria hasta que explícitamente cerradosSimplemente ingrese
plt.hold(False)
antes de la primera plt.plot, y puede apegarse a su código original.fuente
Si está utilizando Matplotlib de forma interactiva, por ejemplo, en una aplicación web (por ejemplo, ipython), tal vez esté buscando
en lugar de
plt.close()
oplt.clf()
.fuente
Si ninguno de ellos funciona, verifique esto ... diga si tiene matrices x e y de datos a lo largo del eje respectivo. Luego verifique en qué celda (jupyter) ha inicializado x e y para vaciar. Esto se debe a que quizás esté agregando datos a x e y sin reinicializarlos. Entonces la trama también tiene datos antiguos. Así que revisa eso ...
fuente