더북(TheBook)

07 | 행렬에 저장된 데이터 그리기(matplot, matlines, matpoints)

matplot( ), matlines( ), matpoints( )는 각각 plot( ), lines( ), points( ) 함수와 유사하지만 행렬Matrix 형태로 주어진 데이터를 그래프에 그린다는 점에서 차이가 있다. 함수 호출 방식 역시 큰 차이가 없고, 다만 입력이 행렬로 주어지기만 하면 된다.

[-2π, 2π] 구간에서의 cos(x), sin(x) 그래프를 matplot( )을 사용해 그려보자. x 값은 다음과 같이 [-2π, 2π] 사이의 촘촘한 점들로 정한다.

> (x <- seq(-2\*pi, 2\*pi, 0.01))
[1] -6.283185307 -6.273185307 -6.263185307 -6.253185307
[5] -6.243185307 -6.233185307 -6.223185307 -6.213185307
...
[1253] 6.236814693 6.246814693 6.256814693 6.266814693
[1257] 6.276814693

y 축은 cos(x), sin(x)를 저장한 행렬로 만든다.

> (y <- matrix(c(cos(x), sin(x)), ncol=2))
          [,1]         [,2]
[1,] 1.0000000 2.449213e-16
[2,] 0.9999500 9.999833e-03
[3,] 0.9998000 1.999867e-02
[4,] 0.9995500 2.999550e-02
[5,] 0.9992001 3.998933e-02
[6,] 0.9987503 4.997917e-02
...
[1252,] 0.9984116 -0.056340765
[1253,] 0.9989251 -0.046353998
[1254,] 0.9993387 -0.036362596
[1255,] 0.9996523 -0.026367558
[1256,] 0.9998660 -0.016369883
[1257,] 0.9999797 -0.006370571

마지막으로 matplot( )에 x, y를 지정해 그래프를 그리고 abline( )으로 x=0, y=0의 두 축을 그려넣는다.

> matplot(x, y, lty=c("solid", "dashed"), cex=.2, type="l")
> abline(h=0, v=0)
그림 6-28 matplot( )으로 cos(x), sin(x) 그래프 그리기
그림 6-28 matplot( )으로 cos(x), sin(x) 그래프 그리기
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.