웹사이트 검색

R의 plot() 함수 이해 - 그래프 플로팅의 기초


이 자습서에서는 먼저 R의 plot() 함수를 사용하여 기본 사항을 이해하는 것으로 시작하겠습니다. R 언어는 모든 종류의 그래프를 작성하고 형식을 지정할 수 있는 풍부한 함수 집합이 포함된 아름다운 그래픽으로 잘 알려져 있으며 plot() 우리가 그것들을 구축하는 데 도움이 되는 함수 제품군입니다.

R의 plot() 함수는 단일 정의 함수가 아니라 관련 함수 계열의 자리 표시자입니다. 호출되는 정확한 함수는 사용된 매개변수에 따라 다릅니다. 가장 단순한 plot() 함수는 단순히 두 벡터를 서로에 대해 플로팅합니다.

plot(c(1,2,3,4,5),c(1,4,9,16,25))

이것은 y = x^2에 대한 간단한 플롯을 제공합니다.

R에서 plot() 함수를 사용하여 그래프 모양 변경

R의 plot() 함수는 앞으로 보게 될 더 복잡하고 눈길을 끄는 플롯을 만들기 위해 여러 가지 방법으로 사용자 지정할 수 있습니다.

  1. 마커의 모양: 플롯 마커는 기본적으로 작고 빈 원입니다. 이들은 pch로 표시되는 플롯 문자라고도 합니다. plot 함수에 새 pch 값을 추가하여 이를 변경할 수 있습니다. 0에서 25까지의 Pch 값은 유효하며 그래프에 여러 다른 기호를 제공합니다. Pch 0은 정사각형, 1은 원, 3은 삼각형, 4는 십자가 등입니다.
  2. 플롯 마커의 크기: 그래프의 이 측면은 cex 매개변수를 사용하여 제어할 수 있습니다. 마커를 50% 작게 하려면 cex 매개변수를 0.5로, 50% 더 크게 하려면 1.5로 설정할 수 있습니다.
  3. 플롯 마커의 색상: 기호에 하나 이상의 색상을 할당할 수 있습니다. 이러한 색상은 colors() 함수 아래 R에서 제공하는 목록에서 선택할 수 있습니다.
  4. 점을 선으로 연결: 표시된 점을 여러 종류의 선으로 연결해야 하는 경우가 많습니다. 이것은 plot 함수의 type 속성을 사용하여 수행할 수 있습니다. 'p'로 설정된 type 속성은 점만 참조하고 'l'은 선만 참조합니다. 마찬가지로 값 'b'와 'o'는 각각 포인트와 오버레이 포인트를 연결하는 선입니다. 디스플레이와 같은 히스토그램을 얻으려면 'h' 옵션이 사용되고 's'는 단계 옵션에 사용됩니다.
  5. 선 다양화: 선 유형은 lty 매개변수(범위 0~6)로 지정할 수 있으며 선 너비는 lwd 매개변수를 사용하여 설정합니다.

이제 지금까지 배운 내용을 사용하여 몇 가지 그래프를 구성해 보겠습니다.

사인파 플롯을 생성하는 것으로 시작하겠습니다. x를 간격이 0.1인 -pi에서 pi까지 값의 시퀀스 벡터라고 하고 y는 x의 각 사인 값을 포함합니다. 이제 x에 대해 y를 플로팅해 보십시오.

x=seq(-pi,pi,0.1)
y=sin(x)
plot(x,y)

이제 기호와 색상을 변경해 보겠습니다.

plot(x,y,pch=c(4,5,6),col=c('red','blue','violet','green'))

이제 컴파일러가 그래프를 표시하기 위해 3개의 다른 기호와 4개의 다른 색상 중에서 선택할 수 있습니다. 결과가 어떻게 되었는지 봅시다.

R은 또한 par() 함수를 사용하여 보기 편의를 위해 여러 그래프를 단일 이미지로 결합할 수 있습니다. 그래프에서 플롯 함수를 호출하기 전에 공간을 설정하기만 하면 됩니다.

#Set a plotting window with one row and two columns.
par(mfrow=c(1,2))
plot(x,y,type='l')
plot(x,y,pch=c(4,5,6),col=c('red','blue','violet','green'))

위의 다양한 옵션을 사용하는 몇 가지 그래프가 아래에 나와 있습니다.

#Set space for 2 rows and 3 columns.
par(mfrow=c(2,3))

#Plot out the graphs using various options.
plot(x,cos(x),col=c('blue','orange'),type='o',pch=19,lwd=2,cex=1.5)

plot(x,x*2,col='red',type='l')

plot(x,x^2/3+4.2, col='violet',type='o',lwd=2,lty=1)

plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lty=3,col='pink',lwd=4)

plot(x<-seq(1,10,0.5),50*x/(x+2),col=c('green','dark green'),type='h')

plot(x,log(x),col='orange',type='s')

결과 그래프는 다음과 같습니다.

R의 plot() 함수를 사용하여 그래프에 추가 정보 추가

그래프는 그래프를 설명하는 메모와 정보가 있을 때 더 완전해 보입니다. 여기에는 그래프의 범례인 차트 및 축의 제목이 포함됩니다. 데이터 포인트에 라벨을 지정해야 하는 경우도 있습니다. 이것을 R의 그래프에 추가하는 방법을 살펴보겠습니다.

  1. 주요 제목은 플롯 기능의 주요 옵션을 사용하여 추가됩니다. 글꼴, 색상 및 크기는 각각 font.main, col.main 및 cex.main을 사용하여 사용자 정의할 수 있습니다.
  2. 축의 제목은 xlab 및 ylab 속성을 사용하여 제공됩니다. 위와 같이 font.lab, col.lab 및 cex.lab을 사용하여 사용자 정의할 수 있습니다.
  3. 텍스트 속성을 사용하여 플롯 내부에 추가 텍스트를 추가하고 사용할 텍스트와 표시할 좌표를 지정할 수도 있습니다.
  4. 텍스트 속성은 데이터 요소에 레이블을 지정하는 데에도 사용할 수 있습니다. 이 경우 텍스트는 문자열이 아닌 레이블의 벡터입니다.
  5. R의 legend() 함수를 사용하여 범례를 그래프에 추가할 수 있습니다. 범례는 해석할 좌표, 텍스트 및 기호를 입력으로 사용합니다.

이를 설명하는 예를 살펴보겠습니다.

#Displaying the title with color
plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lty=3, col='pink',lwd=4,main="This is a graph",col.main='blue')
#Same graph with xlabel and ylabel added.

> plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lt=3,col='pink',lwd=4,main="This is a graph",col.main='blue',xlab="Time",ylab="Performance")

텍스트 속성을 사용하여 그래프의 각 데이터 포인트에 레이블을 추가해 보겠습니다.

labelset <-c('one','three','five','seven','nine','eleven')
x1<- c(1,3,5,7,9,11)
y1 <- c(2,7,5,10,8,10)
plot(x1,y1,type='o',lty=3,col='pink',lwd=4,main="This is a graph",col.main='blue',xlab="Time",ylab="Performance")
text(x1+0.5,y1,labelset,col='red')

마지막으로 legend() 함수를 사용하여 위의 그래프에 범례를 추가해 보겠습니다.

> legend('topleft',inset=0.05,"Performace",lty=3,col='pink',lwd=4)

위치는 x 및 y 좌표 또는 'topleft' 또는 'bottomright'와 같은 위치를 사용하여 지정할 수 있습니다. Inset은 범례 상자를 그래프 안쪽으로 약간 이동하는 것을 말합니다. 이제 결과 그래프에 범례가 있습니다.

오버레이 그래프

R은 또한 모든 그래프에 대해 새 창을 만드는 대신 두 개의 그래프를 서로 위에 표시할 수 있습니다. 이것은 다시 plot()이 아닌 두 번째 그래프에 대해 lines() 함수를 호출하여 수행됩니다. 이는 측정항목을 비교하거나 서로 다른 값 집합을 비교할 때 가장 유용합니다. 예를 살펴보겠습니다.

x=seq(2,10,0.1)
y1=x^2
y2=x^3
plot(x,y1,type='l',col='red')
lines(x,y2,col='green')
legend('bottomright',inset=0.05,c("Squares","Cubes"),lty=1,col=c("red","green"),title="Graph type")

플롯에 라인 추가

간단한 abline() 함수를 사용하여 기존 플롯에 직선을 추가할 수 있습니다. abline() 함수는 a, b, h 및 v의 4개 인수를 사용합니다. 변수 a 및 b는 기울기와 절편을 나타냅니다. H는 수평선의 y점을 나타내고 v는 수직선의 x점을 나타냅니다.

이를 명확히 하기 위해 예를 살펴보겠습니다. 사각형과 큐브에 대한 위의 그래프를 만든 후 이 세 문장을 실행해 보십시오.

abline(a=4,b=5,col='blue')
abline(h=c(4,6,8),col="dark green",lty=2)
abline(v=c(4,6,8),col="dark green",lty=2)

첫 번째 파란색 선은 기울기와 절편이 지정된 상태로 만들어집니다. lty=2로 언급된 점선 스타일의 지정된 x 및 y 값에 3개의 가로선 및 세로선 세트가 그려집니다.

이것은 R의 플롯 기능의 기본을 다룹니다. ggplot2와 같은 다른 패키지와 결합할 때 R은 우리가 추가 자습서에서 볼 수 있듯이 가장 표현하기 쉽고 동적인 그래픽을 구축합니다.