Monday, November 17, 2008

Axis lableling in R

R을 이용해 plotting 하다보면 x,y 축의 label을 default 조건이 아닌,
자신이 원하는 label로 바꾸어 plotting 해야할 때가 생긴다.



>a=1:5
>b=c(1,5,10,50,100)
>plot(a~b,type='l')



위의 plot은 x 축을 b로 하여 대응되는 a의 값을 y축에 나타낸 것이고,
하등의 문제가 없지만, 경우에 따라서는 x축의 단위를 b의 데이터 단위와
일치하게 출력해야할 때가 있다.

다시 말해 b의 데이터 포인트 1,5,10,50,100이 default 옵션에서는
0부터 100단위로 표시된 x 축 위에 5개의 포인트가 숫자 그대로의
스케일로 표현된다. 그러나 이 5개의 데이터 포인트 간의 거리가
표현되기 보다는 각각이 discret 하게 독립적으로 서로 비교가
될 수 있게 같은 거리 상에 표현할 필요가 있을 때가 있는 것.

이럴 때는 아래와 같이 plot의 axes 옵션 그리고 axis 함수를 사용하여
문제를 해결할 수 있다.


>plot(a,type='l',axes=F)
>axis(1,1:5,b)
>axis(2)
>box()