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) 그래프 그리기
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.