python - font - ¿Cómo le digo a matplotlib que he terminado con una trama?
subplot python (6)
El siguiente código traza a 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 empiece de nuevo por la segunda trama?
Como dijo David Cournapeau, usa la 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 subtrama (121) / subtrama (122) para la misma gráfica, posición diferente.
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")
Hay un comando de figura claro, y debería hacerlo por usted:
plt.clf()
Si tienes múltiples subtramas en la misma figura
plt.cla()
borra los ejes actuales.
Puede usar figure
para crear una nueva gráfica, por ejemplo, o usar close
después de la primera gráfica.
Si está usando Matplotlib de forma interactiva, por ejemplo en una aplicación web (por ejemplo, ipython), tal vez esté buscando
plt.show()
en lugar de plt.close()
o plt.clf()
.
Si ninguno de ellos está funcionando, verifique esto ... diga si tiene matrices xey de datos a lo largo del eje respectivo. Luego, compruebe en qué celda (jupyter) ha inicializado xey para vaciar. Esto se debe a que tal vez esté agregando datos a xey sin reinicializarlos. Entonces la trama también tiene datos viejos. Entonces revisa eso ...
Simplemente ingresa plt.hold(False)
antes del primer plt.plot, y puedes mantener tu código original.