Thêm màu vào biểu đồ: radio buttons
Radio buttons hữu ích khi bạn muốn đưa ra nhiều lựa chọn và yêu cầu người dùng chọn một. Chúng có tham số choices để xác định các lựa chọn mà người dùng có thể chọn, và đối số selected để xác định lựa chọn nào được chọn ban đầu. Lưu ý không có tham số value, dù bạn có thể coi selected đóng vai trò tương tự.
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
Đã cung cấp mã cho ứng dụng Shiny từ bài trước. Nhiệm vụ của bạn là thêm các radio button để cho phép người dùng chọn màu dùng cho biểu đồ. Cụ thể:
- Thêm các radio button vào UI với ID "color", nhãn "Point color", và bốn lựa chọn: "blue", "red", "green", "black".
- Thêm mã vào server để các điểm trên biểu đồ có màu được chọn trong radio button (dòng 22).
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.
# Define UI for the application
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput("title", "Title", "GDP vs life exp"),
numericInput("size", "Point size", 1, 1),
checkboxInput("fit", "Add line of best fit", FALSE),
# Add radio buttons for colour
___("color", ___, ___)
),
mainPanel(
plotOutput("plot")
)
)
)
# Define the server logic
server <- function(input, output) {
output$plot <- renderPlot({
p <- ggplot(gapminder, aes(gdpPercap, lifeExp)) +
# Use the value of the color input as the point colour
geom_point(size = input$size, col = input$___) +
scale_x_log10() +
ggtitle(input$title)
if (input$fit) {
p <- p + geom_smooth(method = "lm")
}
p
})
}
# Run the application
shinyApp(ui = ui, server = server)