수리통계 분석 코딩 실습

[R] plot의 모든 것 본문

기타/R

[R] plot의 모든 것

얼려먹는 요구르트 2024. 1. 13. 12:08

 

✔ plot에 관한 모든 명령어를 알아보자!

 

1. plot의 내장 함수

2. axis의 내장 함수

3. label 조정

3. 기타 (안/밖 여백설정, png 저장방법)

 

 

[1] plot 함수 명령어

 

▶ plot(x,y)

명령어 의미 종류
type (x,y)좌표를 찍는 모양 'l',등
xlab, ylab 각 축에 적힐 이름 -
xlim, ylim plot에 표시 될 각 축 범위 c(시작범위, 종료범위)
axes axis를 자동 생성하지 않고 커스터마이즈 해서 조정하려면 선택 (defalut는  true) TRUE/FALSE
xaxt, yaxt 각 축을 보이게 할 지 말 지 선택 'y'/'n'
lwd 선 두께  

 

▶ 사용법

plot(x,y,type = 'l',xlim = c(0,1),ylim = c(0,1),axes=FALSE, xaxt = 'n',yaxt = 'n', lwd = 5)

 

의미> 

(x,y)좌 표를 선으로 그리되, x축은 (0,1)까지 y축은 (0,1)까지 그린다.

축 표시는 하지 말고,(이 경우 axis를 이용해 향후 표기해야함)

xlabel과 ylabel도 표기 하지 않는다.

선 두께는 5로 둔다.

 

▶ points(x,y)

점으로 그림을 그리고 싶을 때 표시

points(0.5, 0.5,pch = 17, cex = 8)
명령어 의미 종류
pch 점 모양 지정 숫자 지정
cex 점 크기 지정 숫자 지정

 

[2] axis 함수 명령어

명령어 의미 종류
side x축인지 y축인지 설정 side = 1: x축
side = 2: y축
at 축에 표시될 눈금 vector 형태로 그리고자 하는 눈금만 표시
cex.axis 축 숫자 크기 숫자 지정
las 축이 그려지는 plot과의 거리 조정 숫자 지정
lwd 축 두께 숫자 지정

 

▶ 사용법

axis(side=1,at=x_axis_tick, cex.axis = 10, lwd = 4, las= 3)
axis(side=2,at=y_axis_tick, cex.axis = 10, lwd = 4)

 

의미> x_axis_tick, y_axis_tick에 해당되는 숫자만 그리되 그 숫자의 크기는 10으로 그린다. 선두께는 4로 두고 x축에 그리는 축의 경우 3만큼 떨어져서 그린다.

[3] label 조정

x축 y축의 label를 바꾸고 싶을 땐 아래 명령어(mtext())를 사용해야, 축 label의 위치, 크기를 조정할 수 있다

 

명령어 의미 종류
side x,y축 위치 지정 side = 1: x축의 label
side = 2: y축의 label
line label의 위치 지정 (plot과 어느정도 떨어져있는 지 위치 조정) 숫자 지정
cex label 크기 조정 숫자 지정

 

▶ 사용법

mtext(expression(alpha[0]), side = 1, line= 22, cex = 12)

x축의 label로 \alpha_0 로 두어 축과 22만큼 아래로 떨어져서 글자 크기는 12로 그린다.

 

 

[4] 기타(안/밖 여백 설정, png 저장 방법, 축에 수학 기호 넣기)

 

(1) 안/밖 여백 설정

 

◾ 안 여백 설정

 

plot을 그리다 보면, 선이나, 점 그래프의 크기가 너무 커져 축과 그래프가 겹치는 경우가 발생한다.

 

이런식으로 그래프가 같이 겹칠 경우, 이를 해결하기 위해 안의 여백을 두어 그림이 들어오도록 조정할 수 있다.

 

▶ 사용법

par(mar=c(25,20,20,5)) # mar=c(아래,왼쪽,위,오른쪽)

 ▷ mar=c(아래,왼쪽,위,오른쪽)

 

 

◾ 밖 여백 설정

 

plot의 그래프를 그릴 때 y축 label이나 x축 label이 너무 붙어 그림이 안예쁠 경우, 이를 조절하는 방법이다.

 

▶ 사용법

par(oma = c(1,1,1,1))

 ▷ oma=c(아래,왼쪽,위,오른쪽)

 

(2) png 저장 방법

 

명령어 의미 종류
filename 파일 이름 지정 및 확장자 지정 .png, .jpeg
width 너비 숫자 지정
height 높이 숫자 지정

 

▶ 사용법

png(filename='tmp.png',width=2200,height=2000)

dev.off()

의미 > tmp파일명으로 png 파일을 저장한다. 너비는 2200 높이는 2000으로 저장한다.

 

반드시 dev.off()로 닫아줘야 저장된다!!

 

 

 

(3) 축에 수식 넣기

 

수식을 넣은 글자를 두껍게 하고 싶으면 bold()를 씌워 주면 된다.

bold(expression(alpha['0']))

 

 

 

사용 예시

 

 png(filename='tmp.png',width=2200,height=2000)
    
    x <- seq(0,1,length = 100)
    y <- seq(0,2,length = 100)
    
    
    x_axis_tick=seq(0,1,length=3)
    y_axis_tick=seq(0,1,length=5)
    par(oma = c(1,1,1,1))
    par(mar=c(25,20,20,5)) # mar=c(아래,왼쪽,위,오른쪽)

    
    plot(x,y,type = 'l',xlim = c(0,1),ylim = c(0,1),axes=FALSE, xaxt = 'n',yaxt = 'n', lwd = 5)
    
    axis(side=1,at=x_axis_tick, cex.axis = 10, lwd = 4, las= 3)
    axis(side=2,at=y_axis_tick, cex.axis = 10, lwd = 4)
    
    mtext(expression(alpha[0]), side = 1, line= 22, cex = 12)
    mtext("Y", side = 2, line= 12, cex = 12)
    
    points(0.5, 0.5,pch = 17, cex = 8)
    
    
    dev.off()