I'm trying to make a plot with arrows in ggplot2 looking something like this, which was made using base R grapics. (colors are not important) 

![enter image description here](https://i.stack.imgur.com/eXwCH.png)

Using ggplot2:

```
library(ggplot2)
library(scales)
library(grid)

df3 <- structure(list(value1 = c(51L, 57L, 59L, 57L, 56L, 56L, 60L, 
66L, 61L, 61L), value2 = c(56L, 60L, 66L, 61L, 61L, 59L, 61L, 
66L, 63L, 63L), group = c("A", "B", "C", "D", "E", "A", "B", 
"C", "D", "E"), time = c("1999", "1999", "1999", "1999", "1999", 
"2004", "2004", "2004", "2004", "2004"), y_position = c(1L, 2L, 
3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L)), .Names = c("value1", "value2", 
"group", "time", "y_position"), row.names = c(NA, -10L), class = "data.frame") 

ggplot( df3, aes( x = value1, y = y_position, group = time, color = time)) +

geom_segment( x = min(df3$value1, df3$value2),  xend = max( df3$value1, df3$value2 ),
              aes( yend = y_position), color = "lightgrey", size = 19)  +

scale_y_continuous(  labels = df3$group, breaks = df3$y_position) + 

theme_classic() + theme( axis.line = element_blank(), axis.title = element_blank()  ) + 

geom_segment( aes( yend = y_position, xend = value2, color = time, group = time), size = 19, alpha = 0.9,

              arrow = arrow(length = unit(40, "points"),type = "closed", angle = 40)  )

```

I get this:

![enter image description here](https://i.stack.imgur.com/cnzT6.png)

The problem is that the arrows look wrong (in that they don't look like the first plot). Using geom\_segment() is not important.

This question may give the answer but I was hoping for something less hacky:
[Specifying gpar settings for grid arrows in R](https://stackoverflow.com/questions/20658071/specifying-gpar-settings-for-grid-arrows-in-r)