Der folgende Code wird in zwei PostScript- Dateien (.ps) dargestellt, die zweite enthält jedoch beide Zeilen.
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")
Wie kann ich matplotlib anweisen, für die zweite Handlung neu zu beginnen?
python
matplotlib
plot
Stefano Borini
quelle
quelle
Antworten:
Sie können
figure
beispielsweise ein neues Diagramm erstellen oderclose
nach dem ersten Diagramm verwenden.quelle
plt.savefig("first.ps")
?Es gibt einen eindeutigen Zahlenbefehl, der für Sie ausgeführt werden sollte:
Wenn Sie mehrere Nebenhandlungen in derselben Abbildung haben
löscht die aktuellen Achsen.
quelle
Verwenden Sie, wie von David Cournapeau angegeben, Abbildung ().
Oder Teilplot (121) / Unterplot (122) für denselben Plot, unterschiedliche Position.
quelle
plt.clf()
, Zahlen werden im Speicher gehalten, bis sie explizit geschlossen werdenplt.hold(False)
Geben Sie einfach vor dem ersten plt.plot ein und Sie können sich an Ihren ursprünglichen Code halten.quelle
Wenn Sie Matplotlib interaktiv verwenden, beispielsweise in einer Webanwendung (z. B. Ipython), nach der Sie möglicherweise suchen
anstelle von
plt.close()
oderplt.clf()
.quelle
Wenn keiner von ihnen funktioniert, überprüfen Sie dies. Sagen Sie, ob Sie x- und y-Datenfelder entlang der jeweiligen Achse haben. Überprüfen Sie dann, in welcher Zelle (Jupiter) Sie x und y zum Leeren initialisiert haben. Dies liegt daran, dass Sie möglicherweise Daten an x und y anhängen, ohne sie neu zu initialisieren. Die Handlung enthält also auch alte Daten. Also überprüfe das ..
quelle