Frage

Die folgenden Code Plots auf zwei Postscript (.ps-Dateien), aber der zweite enthält beide Linien.

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 erzählen von neuem für die zweite Handlung zu beginnen?

War es hilfreich?

Lösung

Sie können figure verwenden, um einen neuen Plot zu erstellen, zum Beispiel, oder close nach dem ersten Plot verwenden.

Andere Tipps

Es gibt eine klare Figur Befehl, und es sollte es für Sie tun:

plt.clf()

Wenn Sie mehrere Handlungsstränge in derselben Figur

plt.cla()

löscht die aktuellen Achsen.

Wie bereits erwähnt von David Cournapeau, Verwendung Figur ().

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")

oder subplot (121) / subplot (122) für die gleiche Handlung, andere Position.

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")

Just plt.hold(False) vor dem ersten plt.plot eingeben, und Sie können zu Ihrem ursprünglichen Code halten.

Wenn Sie mit Matplotlib interaktiv, zum Beispiel in einer Web-Anwendung (z ipython) Sie vielleicht auf der Suche nach

plt.show()

statt plt.close() oder plt.clf().

Wenn keiner von ihnen arbeiten dann dies überprüfen .. sagen wir, wenn Sie x und y-Arrays von Daten entlang der jeweiligen Achse. Dann sind Sie in der Zelle (jupyter) Sie haben x und y initialisiert zu leeren. Dies liegt daran, vielleicht sind Sie Daten x und y anhängen, ohne sie neu zu initialisieren. So Grundstück hat auch alte Daten. So, dass der Check ..

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top