我即将绘制R/ggplot2的优势比,我想在X轴标签的下面或旁边添加两个箭头。一个指向左边,一个指向右边,表现出去/增加的影响力。我尝试了很多东西,比如geom_path,geom_line,但没有取得很大的成功。 这是我的代码:R&ggplot2:如何获取轴标签下的箭头?
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),箭头=箭头(长度=部(0.15, “CM”)),颜色= “黑”,大小= 1) 带来一些箭头,但它们与我的原始数据相冲突。
在此先感谢您的解决方案,帮助或提示!
马克
感谢您的帮助!这让我更接近我需要的东西。我的意图是在“y”下绘制这两个箭头。但也许这就够了。 – Marc
@Marc - 在绘图区域之外绘制东西在技术上是可行的,但是很复杂,要求你乱用'grid'包和视口。我经常告诉人们,对于像这样的不寻常的自定义注释,在像Illustrator这样的图像编辑器中,事实之后通常会更快/更简单地修改图像。 – joran