플롯을 개선하는 고급 기능

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

Dean Attali

Shiny Consultant

색상 입력

library(colourpicker)

colourInput("col", "색상 선택", value = "orange")

색상 입력 위젯

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

Output에는 인자를 사용할 수 있습니다

plotOutput(outputId, width = "100%", height = "400px",
           click = NULL, dblclick = NULL, hover = NULL,
           hoverDelay = NULL, hoverDelayType = NULL, 
           brush = NULL, clickId = NULL, hoverId = NULL,
           inline = FALSE)
사례 연구: R의 Shiny로 웹 애플리케이션 만들기

플롯 출력 인자

plotOutput("plot1", width = 200, height = 400)
plotOutput("plot2", width = 400, height = 200)

플롯 출력 인자 예시

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

plotly로 대화형 플롯 만들기

  • 대화형 플롯용 패키지가 많습니다
  • plotly가 인기 있습니다
  • ggplotly():
    • ggplot2 플롯 ⇒ 대화형으로 변환
p <- ggplot(gapminder, 
          aes(gdpPercap, lifeExp)) +
     geom_point() +
     scale_x_log10()

library(plotly)
ggplotly(p)

대화형 플롯 예시 0

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

plotly로 대화형 플롯 만들기

  • 대화형 플롯용 패키지가 많습니다
  • plotly가 인기 있습니다
  • ggplotly():
    • ggplot2 플롯 ⇒ 대화형으로 변환
p <- ggplot(gapminder, 
          aes(gdpPercap, lifeExp)) +
     geom_point() +
     scale_x_log10()

library(plotly)
ggplotly(p)

대화형 플롯 예시 1

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

plotly로 대화형 플롯 만들기

  • 대화형 플롯용 패키지가 많습니다
  • plotly가 인기 있습니다
  • ggplotly():
    • ggplot2 플롯 ⇒ 대화형으로 변환
p <- ggplot(gapminder, 
          aes(gdpPercap, lifeExp)) +
     geom_point() +
     scale_x_log10()

library(plotly)
ggplotly(p)

대화형 플롯 예시 2

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

plotly로 대화형 플롯 만들기

  • 대화형 플롯용 패키지가 많습니다
  • plotly가 인기 있습니다
  • ggplotly():
    • ggplot2 플롯 ⇒ 대화형으로 변환
p <- ggplot(gapminder, 
          aes(gdpPercap, lifeExp)) +
     geom_point() +
     scale_x_log10()

library(plotly)
ggplotly(p)

대화형 플롯 예시 3

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

Shiny에서 Plotly 사용

  • 잘못된 예
plotOutput("plot")
renderPlot(ggplotly(p))
  • 올바른 예
plotlyOutput("plot")
renderPlotly(ggplotly(p))
사례 연구: R의 Shiny로 웹 애플리케이션 만들기

연습해 봅시다!

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

Preparing Video For Download...