본문 바로가기
data/R 프로그래밍

R을 활용한 그래프 작성하기

by #moonyz 2014. 12. 1.

1. 고수준 작도 함수


(1) plot() 함수 : 선형 그래프 그리기

- plot (x축 데이터, y축 데이터, 옵션)

- 옵션↓

 인수

설명 

 main="메인제목" 

 제목설정 

 sub="서브제목"

 서브제목설정 

 xlab="문자", ylab="문자" 

 x,y 축에 사용할 문자열을 지정 

 ann=F 

 x,y 축 제목을 지정하지 않음 

 tmag=2 

 제목 등에 사용되는 문자의 확대률 지정 

 axes =F 

 x,y 축을 표시하지 않음 

 axis 

 x,y 축을 사용자의 지정값으로 표시 


그래프 타입 선택

 type="p" 

 점 모양 그래프 (기본값) 

 type="l" 

 선 모양 그래프 (꺾은선 그래프) 

 type="b" 

 점과 선 모양 그래프 

 type="c" 

 "b"에서 점을 생략한 모양 

 type="o" 

 점과 선을 중첩해서 그린 그래프 

 type="h" 

 각 점에서 x축 까지의 수직선 그래프 

 type="s" 

 왼쪽값을 기초로 계단 모양으로 연결한 그래프 

 type="S" 

 오른쪽 값을 기초로 계단모양으로 연결한 그래프 

 type="n" 

 축만 그리고 그래프는 그리지 않음 

 선의 모양 선택

 lty=0, lty="blank" 

 투명선 

 lty=1, lty="solid" 

 실선 

 lty=2, lty="dashed"

 대쉬선 

 lty=3, lty="dotted"

 점선 

 lty=4, lty="dotdash" 

 점선과 대쉬선 

 lty=5, lty="longdash" 

 긴 대쉬선 

 lty=6, lty="twodash" 

 2개의 대쉬선 

 색, 기호 등

 col=1, col="blue" 

 기호의 색지정

1:검정, 2:빨강, 3:초록, 4:파랑, 5:연파랑, 6:보라, 7:노랑, 8:회색 

 pch=0, pch="문자"

 점의 모양 지정  

 bg ="blue"

 그래프의 배경색 지정 

 lwd="숫자" 

 선을 그릴때 선의 굵기 지정 

 cex="숫자" 

 점이나 문자를 그릴때 점이나 문자의 굵기를 지정 



(2) barplot( ) : 막대 그래프 그리기  

- 옵션↓

 인수

설명 

 angle, density, col

 막대를 칠하는 선분의 각도, 선분의 수, 선분의 색 지정 

 legend 

 오른쪽 상단에 범례추가 

 names 

 각 막대의 라벨을 정하는 문자열 벡터를 지정 

 width 

 각 막대의 상대적인 폭을 벡터로 지정 

 space 

 각 막대 사이의 간격을 지정 

 beside 

 TRUE를 지정하면 각각의 값마다 막대를 그림 

 horiz 

 TRUE를 지정하면 막대를 옆으로 눕혀서 그림



(3) 히스토그램 그래프 : hist( ), 특정 데이터의 빈도수를 막대모양으로 표현

1. 가장 큰 값과 가장 작은 값을 찾는다.

2. 최대값과 최소값 사이를 적절한 구간으로 나눈다.

3. 각 구간을 대표하는 대표값을 설정한다. (보통 구간의 가운데 값을 지정)

4. 각 구간의 값의 개수를 확인 (도수)

5. 각 구간의 도수가 전체값에서 차지하는 비중을 계산 (상대도수)

6. 각 구간의 도수를 누적해서 계산 (누적도수)



(4) 파이(pie)모양의 차트 : pie( ), 전체합이 100이 되어야 하는 경우에 서로를 비교할때 사용

- 옵션↓

 인수

설명 

 angle, density, col

 pie부분을 구성하는 각도(angle), 수(density), 색상(col) 지정 

 labels 

 각 pie부분의 이름을 지정하는 문자벡터 지정 

 radius 

 원형의 크기를 지정 

 clockwise 

 시계방향(T), 반시계방향(F) 회전 여부 지정. 기본값 반시계 

 init.angle

시작되는 지점의 각도지정



(5) pie3D함수 : pie( )함수를 3D로 

- plotrix 패키지 필요



(6) 상자모양차트 : boxplot( ), 최대값, 최소값, 평균값 등을 비교할때 사용

- 옵션↓

 인수

설명 

 col

 박스 내부의 색깔을 지정

 names 

 각 막대의 라벨을 지정할 문자벡터 지정 

 range 

 박스의 끝에서 수염까지의 길이를 지정, 기본값 1.5 

 width 

 박스의 폭 지정 

 notch 

 true로 지정할 경우 상자의 허리 부분을 가늘게 표시

 horizontal

 true로 지정하면 상자를 수평으로 그림, 아래부터 차례로 나열 



(7) treemap (나무맵) : 어떤 기준값을 지정하여 그 값을 데이터끼리 모아서 면적으로 출력

- treemap 패키지 필요



(8) starts( ) : 나이팅게일 차트라고도 함



(9) igraph( ) : 관계도 그리기, 서로 연관이 있는 데이터들을 연결해서 표현

- 주로 소셜네트워크에서 친구가 어떻게 맺어져 있는지, 특정 기술이 어떤 기술과 관계가 있는지 등의 데이터 표현

- igraph 패키지 설치 필요



(10) ggplot2( ) 패키지

- plot( ) 함수의 확장 버전, 다양한 형태로 데이터 표현 가능

- R에서 그래픽을 그릴때 많이 사용되는 패키지

- ggplo2 패키지 필요

- 문법 : ggplot(data, aes(x=x축데이터, y=y축데이터)) + geom 함수 ...



ggplot(data, aes(x=x축데이터, y=y축데이터)) + geom 함수

- data : 처리할 데이터 프레임 이름

- aes : aesthetic mapping, 미적 매핑, 스케일링(scaling) / x축데이터, y축데이터, 점의모양, 점의크기, 점의 색깔 등등

- geom 함수 : geometric object, 만들어진 데이터를 실제 렌더링으로 표현하는 부분


geom 설정 값

- stat : 주어진 데이터에서 geom에 필요한 데이터 생성

- stat_bin : 아래와 같은 데이터를 갖는 data frame 출력

count : 각 항목의 빈도수, 기본값

density : 각 항목의 밀도수

ncount : count와 같으나 값의 범위가 (0,1)로 스케일링 됨

ndensity : density와 같으나 값의 범위가 (0,1)로 스케일링 됨


* geom_bar( ) : bar plot과 비슷한 역할


* geom_segment( ) : 클리블랜드 점 그래프 형태로 데이터 표현


* geom_line( ) : 선을 그리는 함수 


* geom_area( ) : 선 아래에 색깔을 넣어주는 함수


* geom_histogram( ) : 히스토그램

* geom_density( ) : 밀도 표현

* geom_boxplot( ) : 박스모양

* geom_violin( ) : 바이올린 그래프

* geom_dotplot( ) : 점 그래프 표현

* geom_density2d( ) : 등고선 등과 같은 2차원 데이터의 밀도표현


2. 저수준 작도 함수

- 기존에 그려진 그래프에 추가적인 선이나 설명을 넣는것

- 주요항목

 도형

함수 

 점 

 points( ) 

 직선 

 lines( ), segments( ), abline( ) 

 격자 

 grid( ) 

 화살표 

 arrows( ) 

 직사각형 

 rect( ) 

 문자 

 text( ), mtext( ), title( ) 

 테두리와 축 

 box( ), axis( ) 

 범례 

 legend( ) 

 다각형

 polygon( ) 



댓글