플롯 제목 추가: 텍스트 입력
Shiny에서는 사용자가 어떤 입력값이든 변경하는 즉시, 해당 입력의 현재 값을 서버 함수의 input 인자를 통해 서버에서 바로 사용할 수 있게 해줘요. 어떤 입력이든 input$<inputId>로 값을 가져올 수 있어요.
텍스트 입력에 기본 초기값을 지정하려면 value 인수를 사용합니다.
이 연습은 강의의 일부입니다
사례 연구: R의 Shiny로 웹 애플리케이션 만들기
연습 안내
제공된 Shiny 앱은 gapminder 데이터셋에서 국가별 1인당 GDP와 기대수명을 그립니다. 사용자가 플롯의 제목을 바꿀 수 있도록 텍스트 입력을 추가하세요. 구체적으로:
- UI에 ID가 "title"이고, 라벨이 "Title", 기본값이 "GDP vs life exp"인 텍스트 입력을 추가하세요.
- 서버 코드에서
ggtitle()함수(24행) 안에 제목을 넣어, 플롯 제목이 항상 현재 제목 입력값을 반영하도록 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Load the ggplot2 package for plotting
library(ggplot2)
# Define UI for the application
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
# Add a title text input
___(___, ___, ___)
),
mainPanel(
plotOutput("plot")
)
)
)
# Define the server logic
server <- function(input, output) {
output$plot <- renderPlot({
ggplot(gapminder, aes(gdpPercap, lifeExp)) +
geom_point() +
scale_x_log10() +
# Use the input value as the plot's title
ggtitle(___)
})
}
# Run the application
shinyApp(ui = ui, server = server)