it-swarm.com.de

Python entspricht in Matlab dem Festhalten

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()
38

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()
33
Alvaro Fuentes

Sie können Folgendes verwenden:

plt.hold(True)
20
mapsa

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.

5
freude

Ü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()
0
chandresh