Gibt es in Pythons matplotlib einen expliziten äquivalenten Befehl für Matlabs hold on
? Ich versuche, alle meine Diagramme auf denselben Achsen zu zeichnen. Einige Diagramme werden in einer for
-Schleife erzeugt, und diese werden getrennt von su
und sl
dargestellt:
import numpy as np
import matplotlib.pyplot as plt
for i in np.arange(1,5):
z = 68 + 4 * np.random.randn(50)
zm = np.cumsum(z) / range(1,len(z)+1)
plt.plot(zm)
plt.axis([0,50,60,80])
plt.show()
n = np.arange(1,51)
su = 68 + 4 / np.sqrt(n)
sl = 68 - 4 / np.sqrt(n)
plt.plot(n,su,n,sl)
plt.axis([0,50,60,80])
plt.show()
Rufen Sie einfach plt.show()
am Ende auf:
import numpy as np
import matplotlib.pyplot as plt
plt.axis([0,50,60,80])
for i in np.arange(1,5):
z = 68 + 4 * np.random.randn(50)
zm = np.cumsum(z) / range(1,len(z)+1)
plt.plot(zm)
n = np.arange(1,51)
su = 68 + 4 / np.sqrt(n)
sl = 68 - 4 / np.sqrt(n)
plt.plot(n,su,n,sl)
plt.show()
Sie können Folgendes verwenden:
plt.hold(True)
Die hold on
-Funktion ist standardmäßig in matplotlib.pyplot
aktiviert. Jedes Mal, wenn Sie plt.plot()
aufrufen, bevor plt.show()
eine Zeichnung zum Diagramm hinzugefügt wird. Wenn Sie plt.plot()
nach der Funktion plt.show()
starten, wird das gesamte Bild neu gezeichnet.
Überprüfen Sie pyplot
docs. Zur Vollständigkeit,
import numpy as np
import matplotlib.pyplot as plt
#evenly sampled time at 200ms intervals
t = np.arange(0., 5., 0.2)
# red dashes, blue squares and green triangles
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()