Animated scatter plot over contour plot

I am trying to add an animated scatter plot over a contour plot. However, the contour plot at the first frame just disappears after I hit Play. Is there a way to keep it during the whole animation? Below is the code.

I found this post dealing with the same issue and they had a solution, but it is in Python. I don’t know how to replicate the solution in R.

Thank you.

my.f               <- function(x,y){
  -sqrt((x-1)^2 + y^2)
}

f                  <- '-sqrt((x-1)^2 + y^2)'

iter               <- data.frame(x=NA,y=NA,z=NA)
iter[1,c('x','y')] <- c(-2,2)
iter[1,]$z         <- my.f(x=iter[1,1],y=iter[1,2])


change             <- 1
i                  <- 1

while((abs(change) > .01) & (i < 50)){
  
  der              <- gradient(f = f, 
                               var = c(x=iter[i,1],y=iter[i,2]))
  i                <- i + 1
  
  iter[i,1:2]      <- iter[i-1,1:2] + 0.1*der
  iter[i,]$z       <- my.f(x=iter[i,1],y=iter[i,2])
  
  change           <- iter[i,]$z - iter[i-1,]$z
  
  cat('Iteration :', i, 'Value :', round(iter[i,]$z,4),'\n')
}

iter
iter$it <- 1:nrow(iter)

grid     <- expand.grid(x=seq(-5,5,.1),y=seq(-5,5,.1))
grid$z   <- -((grid[,1] - 1)^2 + grid[,2]^2)^.5

 plot_ly(grid,
         x = ~x,
            y = ~y,
            z = ~z,
            type = 'contour',
            colors = 'YlGnBu',
            showscale=FALSE,
            reversescale =T) %>%
  add_trace(x = iter$x, 
            y = iter$y,
            frame = iter$it,
            type = 'scatter',
            mode = 'markers',
            marker = list(color = 'black',size=5),
            showlegend=FALSE)