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

R 11. 인터랙티브 그래프

by Jinger 2024. 2. 2.

서론

    마우스 움직임에 반응해 실시간으로 형태가 변하는 인터랙티브 그래프를 만드는 방법을 알아보자.


인터랙티브 그래프

    인터랙티브 그래프(Interactive Graph)란, 마우스 움직임에 반응하며 실시간으로 형태가 변하는 그래프를 말한다. 인터랙티브 그래프를 만들면 그래프를 자유롭게 조작하면서 관심 있는 부분을 상세히 살펴볼 수  있다. 그래프를 HTML 포맷으로 저장하면, 일반 사용자들도 웹 브라우저를 이용해 그래프를 조작할 수 있다.

인터랙티브 그래프 만들기

plotly

산점도

# 패키지 준비하기
install.packages("plotly")
library(plotly)

# ggplot2 그래프 만들기
library(ggplot2)
p <- ggplot(data = mpg, aes(x = displ, y = hwy, col = drv)) + geom_point()

# 인터랙티브 그래프 만들기
ggplotly(p)

막대그래프

# 패키지 준비하기
library(plotly)

# ggplot2 그래프 만들기
library(ggplot2)
p <- ggplot(data = diamonds, aes(x = cut, fill = clarity)) + geom_bar(position = "dodge")

# 인터랙티브 그래프 만들기
ggplotly(p)

dygraphs

    시간에 따른 시계열 그래프에 경우 'dygraphs' 패키지를 이용한다.

# 패키지 준비
install.packages("dygraphs")
library(dygraphs)

# 데이터 불러오기
economics <- ggplot2::economics
head(economics)

# 데이터가 시간 순서 속성을 지닌 xts 데이터 타입으로 변환
library(xts)
eco <- xts(economics$unemploy, order.by = economics$date)
head(eco)

# 인터랙티브 시계열 그래프 만들기
dygraph(eco)

# 날짜 범위 선택 기능 추가
dygraph(eco) %>% dyRangeSelector()

# 저축률과 함께 표현
eco_a <- xts(economics$psavert, order.by = economics$date)

# 실업자수와 함께 표현
eco_b <- xts(economics$unemploy/1000, order.by = economics$date)

# 데이터 결합
eco2 <- cbind(eco_a, eco_b)
colnames(eco2) <- c("psavert", "unemploy")	# 변수명 바꾸기
head(eco2)

dygraph(eco2) %>% dyRangeSelector()


주섬주섬

  • 인터랙티브 단계 구분도는 뷰어 창에서 "Export > Save as Web Page.."를 클릭해 HTML 포맷으로 저장할 수 있다. 즉, R을 사용하지 않는 사용자들도 그래프를 볼 수 있다.

참고

 

Plotly

Interactive charts and maps for Python, R, Julia, Javascript, ggplot2, F#, MATLAB®, and Dash.

plotly.com

 

반응형

'프로그래밍 언어 > R' 카테고리의 다른 글

R 13. 기타  (0) 2024.02.02
R 12. 통계적 가설 검정  (0) 2024.02.02
R 10. 지도 시각화  (0) 2024.02.02
R 9. 텍스트 마이닝  (0) 2024.02.02
R 8. 데이터 분석하기  (0) 2024.02.01

댓글