Попробуйте plt.gca().clear()
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import jn # Import Bessel function.
def handle_close(evt):
global closed
closed = True
fig = plt.figure()
closed = False
def waitforbuttonpress():
while plt.waitforbuttonpress(0.2) is None:
if closed:
return False
return True
fig.canvas.mpl_connect('close_event', handle_close)
r = np.linspace(0,20,101)
plt.ion()
for n in range(10):
plt.gca().clear()
plt.plot(r, jn(n,r)) # Draw nth Bessel function.
plt.title("Bessel function J[%d](r)." % n)
plt.show()
fig.canvas.flush_events()
if not waitforbuttonpress():
break # Exit loop if user presses a key.
#plt.cla()
------------- edit --------------
Поскольку ax.cla()
не работает для вас, вы также можете попробовать:
for n in range(10):
# plt.gca().clear()
lines = plt.plot(r, jn(n,r)) # Draw nth Bessel function.
plt.title("Bessel function J[%d](r)." % n)
plt.show()
fig.canvas.flush_events()
if not waitforbuttonpress():
break # Exit loop if user presses a key.
# plt.cla()
lines.pop(0).remove()