Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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)
Chỉnh sửa và Chạy Mã