인터랙티브 그래프
plotly 패키지로 인터랙티브 그래프 만들기
- 인터랙티브 그래프 : 마우스 움직임에 반응하며 실시간으로 형태가 변하는 그래프
- 그래프를 자유롭게 조작하면서 관심 있는 부분을 자세히 살펴볼 수 있다
- 그래프를 HTML 포맷으로 저장하면 일반 사용자들도 웹 브라우저를 이용해 그래프를 조작할 수 있다
인터랙티브 그래프 만들기
-
패키지 준비
install.pakages("plotly") library(plotly)
-
ggplot2
로 그래프 만들기ggplot2
로 만든 그래프를plotly
패키지의ggploty()
에 적용하면 인터랙티브 그래프가 만들어진다.-
ggplot()
을 이용하 그래프를 만든다.library(ggplot2) p <- ggplot(data = mpg, aes(x = displ, y = hwy, col = drv)) + goem_point()
mpg데이터를 이용해 x축에 배기량(displ), y축에 고속도로연비(hwy)를 지정해 산점도를 만든다.
산점도의 점을 구동방식(drv)별로 다른 색으로 표현하도록col=drv
사용한다. -
위 그래프를
ggploty()
에 적용해 인터랙티브 그래프를 만든다.ggplotly(p)
- 산점도의 점 위에 커서를 올리면 값이 나타난다.
- 마우스를 드래그하면 특정 영역을 확대할 수 있다.
- 더블 클릭하면 다시 원래대로 되돌아온다.
- 똑같은 방식으로 다른 그래프 또한 인터랙티브 그래프로 만들 수 있다.
- 만든 인터랙티브 그래프를 HTML포맷으로 저장하려면 뷰어창에서
Export > Save as Web Page
를 클릭하여 저장할 수 있다.
-
dygraphs 패키지로 인터랙티브 시계열 그래프 만들기
- 인터랙티브 시계열 그래프를 이용하면 마우스로 시간 축을 움직이면서 시간에 따라 데이터가 어떻게 변하는지 살펴볼 수 있다.
인터랙티브 시계열 그래프 만들기
- 패키지 준비
dygraphs
패키지로 인터랙티브 시계열 그래프를 만들 수 있다.-
ggplot2
의economics
데이터 이용install.packages("dygraphs") library(dygraphs) economics <- ggplot2::economics
economics
데이터를 xts타입으로 변경gygraphs
를 이용해 인터랙티브 시계열 그래프를 만들려면 데이터가 xts데이터 타입이어야 한다.xts
는 시간 순서 속성을 지니는 데이터 타입xts()
를 이용해 unemploy(실업자수)를 xts타입으로 변경한다.library(xts) eco <- xts(economics$unemploy, order.by = economics$date)
- 인터랙티브 시계열 그래프 만들기
dygraph(eco)
- 커서를 올리면 그래프 오른쪽 위에 날짜, 실업자 수가 표시된다.
- 그래그하면 특정 기간만 확대할 수 있고, 더블클릭하면 원래대로 돌아온다.
- 날짜 범위 선택 기능
dygraph(eco) %>% dyRangeSelector()
- 버튼을 움직여 특정 기간만 선택할 수 있다.
- 범위를 정한 뒤 좌우로 움직이면 시간에 따라 데이터가 어떻게 변하는지 알 수 있다.
- 여러 값 표현하기
- unemploy(실업자 수)와 psavert(저축률)을 한번에 표현해 보자
- unemploy, psavert변수를 xts타입으로 바꾼다.
- unemploy 변수는 1000명 단위로 되어있기 때문에 psavert와 비교하기 쉽도록 1000으로 나누어서 단위를 수정해준다.
eco_a <- xts(economics$psavert, order.by = economics$date) eco_b <- xts(economics$unemploy/1000, order.by = economics$date)
- 두 데이터를
cbind()
를 이용해 가로로 결합한다- 변수명도 알아보기 쉽도록 변경해준다.
eco2 <- cbind(eco_a, eco_b) colnames(eco2) <- c("psavert", "unemploy") head(eco2) psavert unemploy 1967-07-01 12.5 2.944 1967-08-01 12.5 2.945 1967-09-01 11.7 2.958 1967-10-01 12.5 3.143 1967-11-01 12.5 3.066 1967-12-01 12.1 3.018
- 변수명도 알아보기 쉽도록 변경해준다.
dygraph()
를 이용해 그래프를 만든다
- unemploy(실업자 수)와 psavert(저축률)을 한번에 표현해 보자