티스토리 뷰
시각화
#. plot 차트 주 옵션
xlim = c(0, 10) : x축 범주(눈금) (limit)
ylim = c(0, 10) : y축 범주(눈금)
type = ' ' : 그래프 타입
plot(x1, type = 'o')
plot(x1, type = 'l')
plot(x1, type = 'b')
...
lty = ' ' : 그래프 선 모양 (line type)
plot(x1, type = 'o', lty=0) # lty="blank"
plot(x1, type = 'o', lty=1) # lty="solid"
plot(x1, type = 'o', lty=2) # lty="dashed"
plot(x1, type = 'o', lty=3) # lty="dotted"
plot(x1, type = 'o', lty=4) # lty="dotdash"
plot(x1, type = 'o', lty=5) # lty="longdash"
plot(x1, type = 'o', lty=6) # lty="twodash"
col = ' ' : 그래프 색상
col = '숫자' or '색상명(Eng)'
plot(x1, type = 'l', col = 1) # col = 'black'
plot(x1, type = 'l', col = 2) # col = 'red'
plot(x1, type = 'l', col = 3) # col = 'green'
plot(x1, type = 'l', col = 4) # col = 'blue'
....
xlab = ' ' : x축 범주 제목 (label)
ylab = ' ' : y축 범주 제목
main = ' ' : 차트 제목
ann = T or F : 초기 그래프 출력 시, 축 제목 지정 여부
# ann = F 일 경우, title() 함수로 축 제목 설정 가능
plot(x1, type='o', ann = F)
title(main="Plot", col.main="red", font.main=4) # font.main : 폰트
title(xlab="x축", col.lab="black")
title(ylab="y축", col.lab="blue")
axes = T or F : 초기 그래프 출력 시, 축 범주 지정 여부
# axes = F 일 경우, axis() 함수로 축 범주 설정 가능
plot(x1, type='o', axes = F, ylim = c(0,10))
axis(1, at = 1:5, lab=c('A','B','C','D','E')) # x축(1) 범주 사용자 지정 설정
axis(2) # y축(2) 범주 사용자 지정 설정
#. axis와 title 함수를 사용한 축 설정 및 제목 설정
x1 <- c(1,3,7,5,10)
plot(x1,
axes = F, # 축 범주 지정 False
ann = F, # 축 제목 지정 False
ylim = c(0,15), col = 'red', type = 'b')
axis(1, at = 1:5, lab=c('A','B','C','D','E')) # axes=F 에 대한 설정
axis(2, ylim = c(0,15))
title(main="Plot", col.main="red", font.main=4, xlab="x축", ylab="y축") # ann=F 에 대한 설정
#. 여러 Plot 차트 그리기 (lines)
v1 <- c(1,2,3,4,5)
v2 <- c(2,4,6,8,10)
plot(v1, type = 'o', col = 'red', ylim = c(1,10)) # 첫 번째로 그려진 그래프의 눈금으로 틀이 고정
lines(v2, type = 'o', col = 'blue')
#. barplot 주 옵션
# data frame을 barplot에 적용 시 matrix 형식으로 적용
m <- matrix(c(4,6,7,3),nrow = 2)
beside = F or T : 그룹별로 묶어서 출력할지 여부(default = F)
barplot(m, # data
names = c('a','b'), # bar name
beside = T, # T = 그룹별 묶어서(여러 barplot), F = 그룹별(하나의 barplot)
col = c(2,3)) # color
x <- c(1,3,5,6,9)
horiz = F or T : 그래프를 수평으로 출력할지 여부(horizon)
barplot(x) # default(세로)
barplot(x, horiz = T) # 가로로
#. 범례 설정
legend(x = 2, y = 240, # x, y 좌표
legend = result$업종, # 범주
cex = 0.8, # 글자 크기
pch = 1, # 범례 크기
col = 1:6, # 색상(plot)
fill = rainbow(nrow(result)) # 색 채우기(barplot)
lty = 1) # line type
#. pie 차트 label 설정 방법
# pie plot
v1 <- c(1,2,3,4)
pct <- round(v1/sum(v1) * 100,1)
lab1 <- c('Day 1','Day 2','Day 3','Day 4')
lab2 <- paste(lab1,"\n",pct," %")
pie(v1, # data
radius=1, # pie 반지름 크기
init.angle=90, # pie 시작 각도
col=rainbow(length(v1)), # pie 색상
label=lab2) # pie label
# pie3D plot
label <- paste(names(vsum), '\n', rate, '%', sep = '')
library(plotrix)
pie3D(rate,
main = '항목별 지출비율',
col = rainbow(length(rate)),
labelcex = 1, # pie label 크기
radius = 0.8, # pie 크기
labels = label, # pie label
explode = 0.05) # pie간 간격
legend(0.3, 1, names(vsum), cex = 0.7, fill = rainbow(length(rate)))
#. 파레트 옵션
# 파레트에 여러 그래프 출력 c(행의 개수, 열의 개수)
par(mfrow=c(3,3))
# Rstudio figure(파레트) reset
plot.new()
# 분리된 figure(파레트) 창 생성
dev.new()
# 범주, 축 제목 위치 설정
par(mgp=c(3,2,1)) # par(mgp=c(제목위치,지표값위치,지표선위치))
# 그래프 외부 여백 설정
par(oma=c(0,2,0,0)) # par(oma=c(하,좌,상,우))
#. 데이터 적용 예
# barplot
barplot(as.matrix(result[,c(5,8,4,3,2,7,6)]/10000), beside = T, col = rainbow(nrow(result)), ylim = c(0,10))
legend(1, 10, result$업종, fill = rainbow(nrow(result)), cex = 0.8)
title(main = '요일별 업종의 통화건수', xlab = '요일', ylab = '통화건수(단위 : 만)')
# plot
plot(result[,2]/10000, type = 'o', col = 1, ann = F, axes = F, ylim = c(0,80))
lines(result[,3]/10000, type = 'o', col = 2)
lines(result[,4]/10000, type = 'o', col = 3)
axis(1, at = 1:4, labels = result[,1])
axis(2, ylim = c(0,80))
title(main = '년도별 제품의 판매량액', xlab = '년도', ylab = '판매량(단위 : 만)')
legend(1, 80, colnames(result)[-1], col = 1:3, lty = 1, cex = 1)
#
plot(t(df1)[,1], type = 'o', col = 1, ylim = c(0,3500), ann = F, axes = F)
for(i in 2:nrow(df1)){
lines(t(df1)[,i], type = 'o', col = i)
}
ax_name <- substr(colnames(df1),2,5)
axis(1, at = 1:length(ax_name), labels = ax_name)
axis(2, ylim = c(0,3500))
title(main = '근로자별 월 급여액', xlab = '년도', ylab = '급여액')')
legend(1, 3500, emp$고용형태[-1], col = 1:nrow(df1), lty = 1, cex = 0.6)
# histogram plot
hist(height,
breaks = c(170, 175, 180, 185, 190, 195), # 구간의 분기
include.lowest = T, # 최소값 포함 여부
col = rainbow(5),
right = F, # 오른쪽 닫힘 여부
main = "Histogram 2")
'R' 카테고리의 다른 글
[R 정리] 데이터 그룹 연산을 위한 주요 함수 정리 (4) | 2019.01.20 |
---|---|
[R 정리] 데이터 가공을 위한 주요 함수 정리 (6) | 2019.01.13 |