점(points)
points( )는 점을 그리는 함수다. plot( )을 연달아 호출하는 경우 매번 새로운 그래프가 그려지는 것과 달리 points( )는 이미 생성된 plot에 점을 추가로 그려준다.
points : 그래프에 점을 추가하여 그린다. |
points( x, # X 좌표 y=NULL, # Y 좌표 ... # 추가적인 그래픽 파라미터(pch, cex, col 등) ) |
다음은 아이리스 데이터의 Sepal.Width, Sepal.Length를 plot( )으로 그린 다음 Petal.Width, Petal.Length를 같은 그래프 위에 points( )로 덧그리는 예다.
> plot(iris$Sepal.Width, iris$Sepal.Length, cex=.5, pch=20, xlab="width", ylab="length", + main="iris") > points(iris$Petal.Width, iris$Petal.Length, cex=.5, pch="+", col="#FF0000")
points( )는 이처럼 이미 그려진 그래프에 추가로 점을 표시할 수 있다. 그런데 코드를 작성하다 보면 때에 따라 plot( ) 문을 수행할 때는 그래프에 표시할 데이터가 없다가, 이후에야 화면에 표시할 데이터가 준비되는 경우가 있다. 이럴 때는 type=“n”2을 사용하여 plot( )을 먼저 수행한다. 그러면 화면에 그려지는 데이터는 없으나 새로운 그래프가 시작된다. 그리고 데이터가 준비되면 points( )로 그림을 그리면 된다.
다음은 (Sepal.Width, Sepal.Length), (Petal.Width, Petal.Length)를 두 개의 points( ) 호출로 그리는 예다.
> with(iris, { + plot(NULL, xlim=c(0, 5), ylim=c(0, 10), + xlab="width", ylab="length", main="iris", type="n") + points(Sepal.Width, Sepal.Length, cex=.5, pch=20) + points(Petal.Width, Petal.Length, cex=.5, pch="+", col="#FF0000") + })
이처럼 type=“n”을 사용하면 점진적인 방법으로 그래프를 그려나갈 수 있다. 그러나 최초 plot( ) 호출 시 xlim과 ylim을 적절하게 설정해줘야 하는 번거로움은 있다.
2 그래프 유형을 type으로 지정하는 내용은 ‘6.2.7 그래프 유형(type)’ 절에서 설명했다.