나는 R/gplot2와 오즈 비율을 비교하려고하고 있는데 X 축 레이블 아래 또는 옆에 두 개의 화살표를 추가하고 싶습니다. 하나는 왼쪽을 가리키고, 하나는 오른쪽을 가리키며, 감소/증가하는 영향을 나타냅니다. 나는 geom_path, geom_line과 같은 많은 것들을 시도했지만 큰 성공을 거두지 못했습니다. 이 내 코드이다R & gplot2 : 축 레이블 아래에서 화살표를 얻는 방법?
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 - 플로팅 영역 밖에서 물건을 그리는 것은 기술적으로 가능하지만 복잡합니다. 그리드 패키지와 뷰포트를 사용해야합니다. 종종 사람들에게 이렇게 비정상적인 사용자 지정 주석은 Illustrator와 같은 이미지 편집기 또는 그 밖의 다른 기능을 사용하여 이미지를 수정하는 것이 더 빠르고 쉽습니다. – joran