1. 새 도면 준비
그래프를 그릴 새로운 도면을 준비한다.
> plot.new()
2. 여백(margin) 조정하기
1) par() 함수는 현재 그래픽 장치의 그래픽 파라메터의 리스트를 수정하는데 쓰인다.
2) 마진을 설정하는 함수의 형식은 다음과 같다.
par(mar=c(bottom margin, left, top, right))
par(mai=c(bottom margin, left, top, right))
여기서 par("mar") 은 텍스트의 라인수, par("mai") 는 인치를 나타낸다.
그리고 순서는 bottom - left - top - right 이다.
라인수로 마진 크기 조정 | par(mar = c(5.1, 4.1, 4.1, 2.1)) |
인치단위로 마진 크기 조정 | par(mai = c(1.02, 0.82, 0.82, 0.42)) |
도면의 높이, 너비 설정 (단위=인치) | par(pin = c(5, 4)) |
3) 그러면 한 줄의 높이는 얼마가 되는가?
R의 기본셋팅은 par(mar = c(5.1, 4.1, 4.1, 2.1)) 또는 par(mai = c(1.02, 0.82, 0.82, 0.42)) 이다.
한 줄의 높이를 구하기 위해서는 다음과 같이 나눠보면 되는데, 그러면 한 줄은 0.2인치로 나온다.
> par("mai")/par("mar")
[1] 0.2 0.2 0.2 0.2
4) 위에서 도면의 높낮이 설정을 par(pin) 을 통해서 했는데, 현재 도면의 높낮이를 알고 싶으면 다음과 같이 하면 된다.
> par("pin")
[1] 5 4
5) 현재 도면의높낮이를 각각 7인치로 설정하자. 라인 한 줄이 3)에서 봤듯이 0.2인치이므로 1인치는 5줄, 7인치는 35줄인 셈이다. 그러면 이 상황에서 아래와 같이 마진을 35줄로 주면 어떻게 될까? 35줄짜리 도면에 마진이 35줄이면 그래프를 그릴 공간이 없어지게 된다. 따라서 figure margins too large 라는 에러메시지를 띄우게 된다.
> par(pin=c(7,7))
> par("pin")
[1] 7 7
> par(mar=c(35,35,0,0))
> plot(1:10)
Error in plot.new() : figure margins too large
3. 축의 크기 설정하기
1) 함수 형식
plot.window(xlim = xlimits, ylim = ylimits)
여기서 xlimits, xlimits 는 x 축과 y 축의 최소값과 최대값을 의미한다.
예를 들어, 사인/코사인 함수에 적절한 크기는 다음과 같이 설정할 수 있을 것이다.
xlim = c(-pi, pi), ylim = c(-1, 1)
2) 옵션
특정한 비율을 정하는 "asp" 옵션을 사용할 수 있다.
> plot.window(xlim = xlimits, ylim = ylimits, asp = 1)
여기서 asp=1 이라는 의미는 x 와 y 축 기본단위의 간격이 똑같다는 뜻으로, 원이 타원처럼 보이지 않게 할려면 설정해야할 중요한 옵션 중 하나이다.
4. 주요함수 간단목록
points | 도면에 점 그리는 함수 |
lines | 추세선 그리는 함수 |
segments | 점과 점 사이 연결하는 선 그리는 함수 |
rect | 사각형 그리는 함수 |
polygon | 채워진 다각형 그리는 함수 |
text | 도면 위에 텍스트 그리는 함수 |
box | 도면 주위로 박스 그리는 함수 |
'프로그래밍 Programming' 카테고리의 다른 글
Information Visualization (3) - R 그래픽 기초 (원 그리기) (2) | 2014.09.12 |
---|---|
Information Visualization (2) - R 그래픽 기초 (사각형 그리기 예제, 대각선 가진 사각형, 중첩된 사각형) (0) | 2014.09.06 |
R 프로그래밍 - 참고자료 Further Resources (0) | 2014.09.06 |
R 프로그래밍 - R 편집기 R Editors (WinEDT, Tinn-R) (0) | 2014.09.06 |
R 프로그래밍 - 좋은 R 코드를 작성하기 위한 팁 Tips for Writing Good R Code (0) | 2014.09.06 |