2013-07-24 4 views
0

저는 최근에 R로 광범위하게 연구 해 왔으며 질문에 음모를 꾸미고 있습니다.X 축 레이블을 R 도표로 세분화하십시오

현재 플롯의 이미지를 참조로 첨부했습니다. 보시다시피, 필자는 데이터 입력 부분을 분할하기 위해 수직선을 추가했습니다. 나는 200 명의 '에이전트'를 가지고 있으며, 각각은 서로 다른 카테고리의 서브 세트에서 나온다. 그래서, 제 목표는 아래쪽 축을 제 '에이전트'벡터의 인덱스로 유지하는 것입니다.하지만 각 하위 분류에 레이블을 추가하여 세그먼트를 왜 더 명확하게 만드는지 알려 드리려고합니다. 그들에게 수직선이있다.

제안 사항?

http://i.imgur.com/YGNdBhg.png?1?1971

+0

왜 '텍스트'를 사용하지 않습니까? 그것은 배치를 위해 사용자 좌표를 사용합니다. 'xpd = TRUE'를 사용하여 텍스트를 플롯 영역 바깥에 표시하는 것도 가능합니다. –

답변

1

당신은 그냥이 같은 axis를 호출해야합니다

x = sin(1:100) + rnorm(100, 0,.125) 
breaks = c(10,33,85, 96) 

plot(x) 
sapply(breaks, function(x){abline(v=x, lty=2)}) 
axis(1, breaks, as.character(breaks)) 

당신은 진드기 (이하 "휴식"벡터에서, 즉 단지 틱) 전혀 그려 기본을 원하지 않는 경우

+0

그게 꼭 필요한 것입니다. – jameselmore

0

예제 데이터 또는 코드를 제공하지 않으므로 보내는 코드는 테스트되지 않았습니다. 수직선 벡터 vertlines과 레이블 벡터 labels을 호출합니다. vertline과 에이전트 값의 범위를 사용하여 각 카테고리의 중간 점을 정의합니다. 그런 다음 mtext() 기능을 사용하여 플롯에 추가합니다. 시도 해봐.

vertlines <- c(40, 80, 120, 140, 160, 180) 
labels <- letters[1:7] 

labelx <- diff(c(1, vertlines, 200))/2 + c(1, vertlines) 
mtext(labels, at=labelx, side=1, line=4) 
관련 문제