Pregunta

Los siguientes gráficos de código en dos archivos PostScript (.ps), pero la segunda 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 saber matplotlib a empezar de nuevo para la segunda trama?

¿Fue útil?

Solución

Puede utilizar figure para crear una nueva trama, por ejemplo, o utilizar close después de la primera trama.

Otros consejos

Hay una orden clara figura, y debe hacerlo por usted:

plt.clf()

Si tiene varias tramas secundarias en la misma figura

plt.cla()

borra los ejes actuales.

Como se ha dicho de David Cournapeau, el uso de 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 parcela, 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")

Solo tienes que introducir plt.hold(False) antes de la primera plt.plot, y se puede cumplir con su código original.

Si está utilizando Matplotlib forma interactiva, por ejemplo, en una aplicación web, (por ejemplo ipython) que tal vez buscando

plt.show()

en lugar de plt.close() o plt.clf().

Si ninguno de ellos está trabajando a continuación, comprobar esto .. digamos si tiene X e Y matrices de datos a lo largo del eje respectivo. A continuación, comprobar en qué célula (jupyter) que ha inicializado x e y para vaciar. Esto se debe a que, tal vez usted se añaden datos a los X e Y sin volver a inicializar ellos. Así parcela tiene datos antiguos también. A fin de comprobar que ..

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top