You are probably plotting a Function that needs to be projected each time plot is called and as such a new object is created leading to a new frame. With this trick here you are always plotting the same object and thus the frame should remain the same:
V = FunctionSpace(mesh, 'CG', 1)
uplot = Function(V)
for i in range(10):
uplot.assign(project(u, V))
plot(uplot)