O código a seguir plota em dois arquivos PostScript (.ps), mas o segundo contém as duas linhas.
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")
Como posso dizer ao matplotlib para iniciar novamente o segundo gráfico?
python
matplotlib
plot
Stefano Borini
fonte
fonte
Respostas:
Você pode usar
figure
para criar uma nova plotagem, por exemplo, ou usarclose
após a primeira plotagem.fonte
plt.savefig("first.ps")
?Há um comando de figura clara e deve ser feito por você:
Se você tiver várias subparcelas na mesma figura
limpa os eixos atuais.
fonte
Conforme afirmado por David Cournapeau, use a figura ().
Ou subtrama (121) / subtrama (122) para o mesmo gráfico, posição diferente.
fonte
plt.clf()
, figuras são mantidos na memória até ser explicitamente fechadoBasta entrar
plt.hold(False)
antes do primeiro plt.plot, e você poderá manter seu código original.fonte
Se você estiver usando o Matplotlib interativamente, por exemplo, em um aplicativo da web (por exemplo, ipython), talvez esteja procurando
em vez de
plt.close()
ouplt.clf()
.fonte
Se nenhum deles estiver funcionando, verifique isso .. diga se você tem matrizes xey de dados ao longo do respectivo eixo. Em seguida, verifique em qual célula (jupyter) você inicializou x e y para esvaziar. Isso ocorre porque, talvez você esteja anexando dados a x e y sem reinicializá-los. Portanto, o enredo também tem dados antigos. Então verifique isso ..
fonte