본문 바로가기
4. 그래프 꾸미기(저수준 함수)/polygon() - 다각형

[R] 그래프 영역 색칠하기 + 투명도 설정 (기본도형)

by makhimh 2019. 11. 28.
반응형

[R] 그래프 영역 색칠하기 + 투명도 설정 (기본도형)



#1. 주석과 함께 코드 먼저 보기


> 코드


#점의 좌표 설정

x=c(1,3,3,1)

y=c(1,1,3,3)


#그래프 그리기, type을 n으로 놓아 점을 안보이게함.

plot(x,y,

     xlim=c(0,5),

     ylim=c(0,5),

 type="n"

     )


#점 연결해서 도형 그리기+색칠하기. border를 NA로 놓아 테두리 선 제거.

polygon(x,y,

        col=adjustcolor("red",alpha=0.5),

        border=NA)


> 실행결과




#2. 설명


먼저 점의 좌표를 만들어줍니다. 점들이 연결되어 도형이 되고, 도형에 색을 칠할 것입니다. 


x=c(1,3,3,1)

y=c(1,1,3,3)


위에서 정의한 점은 4개의 점입니다. 


(1,1)

(3,1)

(3,3)

(1,3)


점의 순서가 중요합니다. 가두고 싶은 도형의 둘레를 따라서 순서가 설정되어야 합니다. 교차하게 되면 다른 도형이 만들어집니다. 뒤에서 보여드리겠습니다. 


이제 plot 함수를 이용하여 점을 찍어봅시다. 


plot(x,y,

     xlim=c(0,5),

     ylim=c(0,5)

     )


그래프는 아래와 같습니다. 





이제 점을 연결하여 다각형을 만들겠습니다. 


plot(x,y,

     xlim=c(0,5),

     ylim=c(0,5)

     )

polygon(x,y)




다각형 안을 색칠하겠습니다. polygon 함수를 아래와 같이 수정해줍니다. 


plot(x,y,

     xlim=c(0,5),

     ylim=c(0,5)

     )

polygon(x,y,

        col='red')


저는 주로 테두리선 없애고, 점도 없애고, 색칠한 부분은 투명으로 설정합니다. plot 함수와 polygon 함수를 아래와 같이 바꿔주면 됩니다. plot 함수에는 type을 n으로 설정하여 점을 없앴습니다. polygon함수에는 border을 NA로 설정하여 테두리를 없앴습니다. 색 투명은 adjustcolor 함수를 사용합니다. alpha 값이 1에 가까울 수록 불투면, 0에 가까울수록 투명입니다. 


plot(x,y,

     xlim=c(0,5),

     ylim=c(0,5),

 type="n"

     )


polygon(x,y,

        border=NA,

        col=adjustcolor("red",alpha=0.5)) 



반응형

댓글