Hi,

I’d like to animate the result of `plt.contour`

using a slider to modify the values of the `Z`

array that it takes in. Looking around there doesn’t seem to any sort of `set_data`

method so I’m approaching this by doing:

```
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.widgets import Slider
import mpl_interactions.ipyplot as iplt
fig, ax = plt.subplots()
plt.subplots_adjust(bottom=0.25)
delta = 0.025
x = np.arange(-3.0, 3.0, delta)
y = np.arange(-2.0, 2.0, delta)
X, Y = np.meshgrid(x, y)
def Z(beep):
Z1 = beep * np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
return (Z1 - Z2) * 2
contours = ax.contour(X,Y,Z(0))
def callback(value):
global contours
for c in contours.collections:
c.remove()
contours = ax.contour(X,Y,Z(value))
slider_ax = plt.axes([0.25, 0.1, 0.65, 0.03])
slider = Slider(slider_ax, label="freq", valmin=0.05, valmax=10)
slider.on_changed(callback)
plt.show()
```

which seems to work well.

### Question

My question is essentially is there something I’m missing here that will come back to bite me? I’m worried by the fact that I’m iterating over artists and that I seem to leave the original collection just hanging around. Is there any better way?