2013-04-07 6 views
16

ggplot2에 의해 생성 된 그림의 각 패널에 주석을 추가하기 만하면됩니다. 각 구석에 (a), (b), (c)와 같은 단순한 레이블 만 있으면됩니다. 이 작업을 수행하는 간단한 방법이 있습니까?ggplot2 : facet_grid()가있는 geom_text()?

+3

당신은 예를 들어 그림을해야합니까, 당신은 게시 할 수 있습니까? –

+0

죄송합니다, 사진을 게시하는 방법을 알아야합니다 ... – hatmatrix

답변

27

는 : https://groups.google.com/forum/?fromgroups=#!topic/ggplot2/RL8M7Ut5EpU 당신이 사용할 수있는 다음과 같은 :

당신이 제공해야
library(ggplot2) 
x <-runif(9, 0, 125) 
data <- as.data.frame(x) 
data$y <- runif(9, 0, 125) 
data$yy <- factor(c("a","b","c")) 

ggplot(data, aes(x, y)) + 
    geom_point(shape = 2) + 
    facet_grid(~yy) + 
    geom_text(aes(x, y, label=lab), 
     data=data.frame(x=60, y=Inf, lab=c("this","is","the way"), 
      yy=letters[1:3]), vjust=1) 

:

+6

+1,하지만이 작품의 작동 방식에 대해 좀 더 자세히 설명해 주시겠습니까? 지금은 단지 코드와 그림 일뿐입니다. –

+3

예. 기본'ggplot' 호출은'geom_point'' facet_grid' 패싯에 대한 실제 플롯 데이터가있는 데이터 프레임을 가지고 있습니다. 핵심은'geom_text'에 대한 새로운 데이터 프레임을 설정하는 것입니다 (코드 스 니펫에서 즉석에서 생성되지만'ggplot' 블록 외부에서 생성하고 데이터 프레임을 참조 할 수 있음). 패싯의 수 'geom_text'를 여러 번 호출하여 여러 개의 다른 레이블을 패싯에 배치 할 수 있습니다. 그들은 순서대로 참조 될 것이므로주의해야합니다. – hrbrmstr

+1

여러 라벨을 그려야하는 경우 geom_text를 여러 번 호출 할 필요없이 data.frame에 행을 적절한 text 및 facet_grid 변수와 함께 추가하면됩니다. –

5

기본적으로 텍스트가있는 열과 facet_grid에 사용할 변수가 포함 된 열이 포함 된 data.frame을 만듭니다. 그러면 data.frame과 함께 geom_text을 간단히 추가 할 수 있습니다. 텍스트 배치 등에 대한 자세한 내용은 geom_text 설명서를 참조하십시오. 에서