더북(TheBook)

점(points)

points( )는 점을 그리는 함수다. plot( )을 연달아 호출하는 경우 매번 새로운 그래프가 그려지는 것과 달리 points( )는 이미 생성된 plot에 점을 추가로 그려준다.

표 6-14 점 그리기

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")
그림 6-15 points( )를 사용한 점 그리기
그림 6-15 points( )를 사용한 점 그리기

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")
+ })
그림 6-16 plot(type="n")을 사용한 점진적 그래프 그리기
그림 6-16 plot(type=

이처럼 type=“n”을 사용하면 점진적인 방법으로 그래프를 그려나갈 수 있다. 그러나 최초 plot( ) 호출 시 xlim과 ylim을 적절하게 설정해줘야 하는 번거로움은 있다.


2 그래프 유형을 type으로 지정하는 내용은 ‘6.2.7 그래프 유형(type)’ 절에서 설명했다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.