This code (coming from here) works well to do some plot, and update with new plots in a for loop:
import numpy as np
from matplotlib import pyplot as plt
plt.axis([-50,50,0,10000])
plt.ion()     # interactive mode on
X = np.arange(-50, 51)
for k in range(1,5):  
    print k 
    Y = [x**k for x in X]
    plt.plot(X, Y)
    plt.draw()
    plt.pause(1)
It works, but it has 2 (minor) drawbacks:
- A warning message: - C:\Python27\lib\site-packages\matplotlib\backend_bases.py:2399: MatplotlibDeprecationWarning: Using default event loop until function specific to this GUI is implemented warnings.warn(str, mplDeprecation) 
- If I close the main plot window during the loop, I get: - File "C:\Python27\lib\lib-tk\Tkinter.py", line 964, in update self.tk.call('update') 
 _tkinter.TclError: can't invoke "update" command: application has been destroyed
What's the clean way to do non-blocking plots in a for loop?
 
     
    