Thêm tiêu đề biểu đồ: ô nhập văn bản
Trong Shiny, ngay khi người dùng thay đổi giá trị của bất kỳ input nào, Shiny sẽ cung cấp ngay giá trị hiện tại của input đó cho bạn trong server thông qua đối số input của hàm server. Bạn có thể lấy giá trị của bất kỳ input nào bằng input$<inputId>.
Để gán giá trị khởi tạo mặc định cho một ô nhập văn bản, hãy dùng đối số value.
Bài tập này là một phần của khóa học
Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R
Hướng dẫn bài tập
Ứng dụng Shiny đã cho vẽ GDP bình quân đầu người so với tuổi thọ của các quốc gia trong bộ dữ liệu gapminder. Nhiệm vụ của bạn là thêm một ô nhập văn bản để người dùng có thể thay đổi tiêu đề biểu đồ. Cụ thể:
- Thêm một ô nhập văn bản vào UI với ID "title", nhãn là "Title", và giá trị mặc định là "GDP vs life exp".
- Trong mã server, đảm bảo tiêu đề của biểu đồ luôn phản ánh giá trị hiện tại của ô nhập tiêu đề bằng cách đặt tiêu đề bên trong hàm
ggtitle()(dòng 24).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)