이 튜토리얼에서는 먼저 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() 함수는 여러 방법으로 사용자 정의할 수 있어 복잡하고 눈길을 끄는 플롯을 만들 수 있습니다.
- 마커의 형태: 플롯 마커는 기본적으로 작고, 빈 원입니다. 이것들은 플롯 문자라고도 알려져 있으며, pch로 표시됩니다. plot 함수에 새로운 pch 값을 추가함으로써 이것들을 변경할 수 있습니다. Pch 값 0부터 25는 유효하며 그래프에 여러 가지 다른 기호를 제공합니다. Pch 0은 사각형, 1은 원, 3은 삼각형, 4는 십자가 등입니다.
- 플롯 마커의 크기: 그래프의 이 측면은 cex 매개변수를 사용하여 제어할 수 있습니다. cex 매개변수는 마커의 크기를 50% 작게 만들려면 0.5로 설정하고, 50% 크게 만들려면 1.5로 설정할 수 있습니다.
- 플롯 마커의 색상: 심볼에는 하나 이상의 색상을 할당할 수 있습니다. 이러한 색상은 R에서 제공하는 목록에서 선택할 수 있습니다.
colors()
함수를 사용하여 선택할 수 있습니다. - 점을 선으로 연결하기: 많은 경우에 표시된 점을 다양한 종류의 선으로 연결하는 것이 필요합니다. 이는 plot 함수의 type 속성을 사용하여 수행할 수 있습니다. ‘p’로 설정된 유형 속성은 점만을 나타내고, ‘l’은 선만을 나타냅니다. 비슷하게, ‘b’와 ‘o’는 점을 연결하고 점을 오버레이하는 데 사용됩니다. 히스토그램 모양의 표시를 얻으려면 ‘h’ 옵션이 사용되고 ‘s’는 단계 옵션에 사용됩니다.
- 선의 변형: 선 형식은 lty 매개변수(범위 0에서 6)로 지정할 수 있으며, 선의 너비는 lwd 매개변수를 사용하여 설정됩니다.
지금까지 배운 내용을 사용하여 몇 개의 그래프를 구성해 보겠습니다.
우선 사인 파형 플롯을 생성해 보겠습니다. x를 -pi에서 pi까지 0.1 간격의 값의 시퀀스 벡터로 하고, y는 x의 해당 사인 값들을 포함합니다. 이제 y를 x에 대해 플로팅해 보세요.
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 also allows combining multiple graphs into a single image for our viewing convenience using the par() function. We only need to set the space before calling the plot function in our graph.
#하나의 행과 두 개의 열이 있는 플로팅 창 설정.
par(mfrow=c(1,2))
plot(x,y,type='l')
plot(x,y,pch=c(4,5,6),col=c('red','blue','violet','green'))

A few more graphs using various options from above are illustrated below.
#2개의 행과 3개의 열에 대한 공간 설정.
par(mfrow=c(2,3))
#다양한 옵션을 사용하여 그래프 그리기.
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에서 이러한 내용을 그래프에 추가하는 방법을 살펴보겠습니다.
- 주요 제목은 플롯 함수에서 main 옵션을 사용하여 추가됩니다. 폰트, 색상 및 크기는 각각 font.main, col.main, cex.main을 사용하여 사용자 정의할 수 있습니다.
- 축에 대한 제목은 xlab 및 ylab 속성을 사용하여 제공됩니다. 이것들은 위에서와 같이 font.lab, col.lab, cex.lab을 사용하여 사용자 정의할 수 있습니다.
- 또한 플롯 내부에 일부 추가 텍스트를 추가할 수 있습니다. 이는 text 속성을 사용하여 사용할 텍스트와 표시할 좌표를 지정함으로써 수행할 수 있습니다.
- 텍스트 속성은 데이터 포인트에 레이블을 지정하는 데에도 사용될 수 있습니다. 이 경우 텍스트는 문자열이 아닌 레이블의 벡터입니다.
- 범례는 R의 legend() 함수를 사용하여 그래프에 추가할 수 있습니다. 범례는 좌표, 텍스트 및 해석할 기호를 입력값으로 받습니다.
이를 설명하는 예제를 살펴봅시다.
#색상을 이용한 제목 표시
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')

#xlabel과 ylabel을 추가한 같은 그래프
> 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 also allows two graphs to be displayed on top of each other instead of creating a new window for every graph. This is done by calling a lines() function for the second graph rather than plot() again. These are most useful when performing comparisons of metrics or among different sets of values. Let us look at an example.
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() 함수는 4개의 인수, a, b, h 및 v를 가져옵니다. 변수 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 값에 그려집니다.
이것은 R에서 플롯 함수의 기본을 다룹니다. ggplot2와 같은 다른 패키지와 결합하면 R은 더 많은 자습서에서 볼 수 있듯이 가장 표현력 있고 동적인 그래픽을 생성합니다.
Source:
https://www.digitalocean.com/community/tutorials/plot-function-in-r