Comportamento estranho de ggplot2

Eu simplesmente quero desenhar várias setas em um gráfico de dispersão usando ggplot2. Neste exemplo (fictício), uma seta é desenhada, mas se move à medida que i é incrementada e apenas uma seta é desenhada. Por que isso acontece?

library(ggplot2)
a <- ggplot(mtcars, aes(wt, mpg)) + geom_point()
b <- data.frame(x1=c(2,3),y1=c(10,10),x2=c(3,4),y2=c(15,15))
for (i in 1:nrow(b)) {
        a <- a + geom_segment(arrow=arrow(), 
          mapping = aes(x=b[i,1],y=b[i,2],xend=b[i,3],yend=b[i,4]))
         plot(a)
 }

Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion