2016-07-03 16 views
-3

Ich habe einen Druck in einer Schleife, alles geht gut: Ich kann alles sehen.Zeige alle Drucken in einer Schleife Python

for in range(0,10000) : 
    function_using_show() 
    print 25) 

Aber, wenn ich den gleichen Code in einer Funktion setzen:

def ff() : 
    for in range(0,10000) : 
    function_using_show() 
    print 25 

def function_using_show(): 
    plt.plot(X,Y) 
    plt.show() 

Nur der letzte Graph und die letzte '25' gedruckt wird. Wie werden alle Graphen angezeigt und gedruckt, wenn sich die Schleife in einer Funktion befindet?

Edited

+0

hier gibt es nicht genug Kontext ist Bitte zeigen, wie Sie die Plots erzeugen . – Will

+0

können Sie den Code Ihrer Funktion show() aktualisieren. – SumanKalyan

+0

Ist der Ausdruck, von dem Sie sprechen, "25"? –

Antwort

0

Ich glaube, Sie vermissen das: am Ende der if-Anweisung

+3

Sie sollten das als Kommentar schreiben. Und ich denke auch, dass dies nicht der Fall ist, weil sonst der angegebene Code nichts kompiliert und gedruckt hätte. Also, das ist nur ein kleiner Fehler in der Post. –

0

Du bist Problem ist, dass Sie versuchen, plt.show() in einer Schleife durchzuführen, aber das, was Sie erwägen, nicht hier dieses Verfahren ist, dass blockiert:
unter Angabe der tutorial:
„Weil diese mainloop ist standardmäßig blockiert (dh Skriptausführung wird pausiert), sollten Sie nur nennen t sein einmal pro Skript, am Ende. Die Skriptausführung wird fortgesetzt, nachdem das letzte Fenster geschlossen wurde. Wenn Sie also matplotlib verwenden, um nur Bilder zu erzeugen, und kein Benutzeroberflächenfenster wollen, müssen Sie nicht "show" aufrufen.
Die Lösung besteht darin, alle Ihre Plots im selben Fenster anzuzeigen hier):

import numpy as np 
import matplotlib.pyplot as plt 

def f(t): 
    return np.exp(-t) * np.cos(2*np.pi*t) 

t1 = np.arange(0.0, 5.0, 0.1) 
t2 = np.arange(0.0, 5.0, 0.02) 

plt.figure(1) 
plt.subplot(211) 
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k') 

plt.subplot(212) 
plt.plot(t2, np.cos(2*np.pi*t2), 'r--') 
plt.show() 

Ausgang.

enter image description here

+0

Cf meine bearbeitete Version. in der Tat, ohne eine Funktion, es funktioniert gut. – Brook

Verwandte Themen