R & ggplot2: Как получить стрелки под меткой оси?


Я собираюсь построить отношения шансов с помощью R / ggplot2 и хочу добавить две стрелки под или рядом с меткой оси X. Один указывает влево, другой указывает вправо, показывая уменьшение / усиление влияния. Я пробовал много чего, например geom_path, geom_line, без особого успеха. Это мой код:

forest <- function(d, xlab="Odds Ratio", ylab="Influencing variables"){
require(ggplot2)
p <- ggplot(d, aes(x=ordered(x, levels=rev(x)), y=y, ymin=ylo, ymax=yhi)) +
geom_pointrange() +
geom_segment(aes(x = 0, xend = 0, y= 1, yend= 2)) +
coord_flip() +
geom_hline(aes(yintercept=1), lty=2) +
ylab(xlab) +
xlab(ylab) +
scale_y_log10() 
return(p)
}
##Test Data
data <- data.frame( x   = c("A","B","C","D","E","F","G","H","I"),
                y   = c(1.782,0.136,0.978,0.645,0.518,1.474,0.855,0.673,0.369))
data <- transform(data, ylo = (0.719,0.046,0.945,0.295,0.188,0.577,0.407,0.310,0.145), 
        yhi = c(4.420,0.398,1.012,1.411,1.424,3.768,1.798,1.460,0.940))
forest(data)

Добавление строки вроде geom_line (aes (x = 1), arrow = arrow (length = unit (0,15, "см")), color = "black", size = 1) приносит несколько стрелок, но они противоречат моим исходным данным.
Заранее благодарим за решение, помощь или подсказку!
Marc

5
задан Machavity 16 August 2018 в 12:25
поделиться