티스토리 뷰
파이, 3D파이 그래프 그리기
파이 그래프
Pie : 파이 차트 그리기
pie(x, # 데이터
labels = names(x), # 각 파이의 이름
angle = 45, # 파이를 구성하는 각도
density = NULL, # 파이를 구성하는 수
col = NULL, # 파이 색상
radius = 0.8, # 원형의 크기
clockwise = FALSE, # 시계방향(TRUE), 반 시계방향(FALSE)
init.angle = if(clockwise) 90 else 0, # 파이의 시작 각도
border = NULL, # 파이의 테두리 색상
lty = NULL, main = NULL, ...)
# 45도 각도부터 시계 반대 방향으로 그래프가 시작됩니다.
> 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,radius=1, init.angle=90,col=rainbow(length(v1)),label=lab2)
3D파이 그래프
plotrix::Pie3D : 파이 차트 그리기
pie3D(x,
radius=1, # 원형의 크기
height=0.1, # 원형의 높이
col=NULL, # 파이 색상
border=par("fg") # 파이 테두리 색상
labelcol=par("fg") # 라벨 색상
labelcex = 1 # 라벨 글자 크기
theta=pi/6 # 그래프 각도
shade=0.8 # 그림자 강도
explode=0) # 파이들의 간격
Q1.
# card_history.csv 파일을 대상으로 각 항목별 지출비율을 3D 파이 차트로 출력
# 단, 각 파이의 이름은 아래와 같은 형식으로 지정 (지줄항목, 40%)
> card <- read.csv('card_history.csv', stringsAsFactors = F)
> card
NUM 식료품 의복 외식비 책값 온라인소액결제 의료비
1 1 19,400 143,000 8,600 29,000 5,600 19,200
2 2 22,200 120,400 7,000 26,000 3,300 13,000
3 3 24,600 88,500 7,500 22,000 7,500 16,600
...
# 천 단위 구분기호를 제거하고 숫자형으로 변환
> library(stringr)
> f1 <- function(x) {
as.numeric(str_replace_all(x,',',''))
}
> card <- as.data.frame(sapply(card,f1))
# 각 항목 별 지출비용 합계
> vsum <- apply(card[,-1], 2, sum)
> vsum
식료품 의복 외식비 책값 온라인소액결제 의료비
795500 3947700 281400 945000 186300 633600
# 각 항목 별 지출비율
> rate <- round(vsum / sum(vsum) * 100, 1)
> rate
식료품 의복 외식비 책값 온라인소액결제 의료비
11.7 58.1 4.1 13.9 2.7 9.3
# 라벨 설정
> label <- paste(names(vsum), '\n', rate, '%', sep = '')
# 3Dpie 그리기
> install.packages("plotrix")
> library(plotrix)
> pie3D(rate, main = '항목별 지출비율', col = rainbow(length(rate)),
labelcex = 1, radius = 0.8, labels = label, explode = 0.05)
# 범례를 추가할 경우
> legend(0.3, 1, names(vsum), cex = 0.7, fill = rainbow(length(rate)))
참고: KIC 캠퍼스 머신러닝기반의 빅데이터분석 양성과정
'R > Visualize' 카테고리의 다른 글
[R 시각화] 히스토그램 그래프 그리기 - histogram plot (0) | 2019.01.12 |
---|---|
[R 시각화] 선 그래프 그리기 - Line Plot (2) | 2019.01.10 |
[R 시각화] 막대 그래프 그리기 - BarPlot (0) | 2019.01.10 |