เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เพิ่มสีให้กับกราฟ: ปุ่มตัวเลือก (radio buttons)

ปุ่มตัวเลือก (radio buttons) ใช้เมื่อต้องการให้ผู้ใช้เลือกจากตัวเลือกหลายรายการได้เพียงหนึ่งรายการ โดยมีพารามิเตอร์ choices สำหรับกำหนดตัวเลือกต่าง ๆ และอาร์กิวเมนต์ selected สำหรับกำหนดค่าที่เลือกไว้เริ่มต้น ทั้งนี้ไม่มีพารามิเตอร์ value แต่สามารถมองว่า selected ทำหน้าที่คล้ายกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

โค้ดของ Shiny app จากแบบฝึกหัดที่แล้วได้รับการเตรียมไว้ให้แล้ว โดยมีเป้าหมายเพื่อเพิ่มปุ่มตัวเลือกที่ให้ผู้ใช้เลือกสีสำหรับกราฟ ดังนี้

  • เพิ่มปุ่มตัวเลือกใน UI โดยกำหนด ID เป็น "color", ป้ายกำกับเป็น "Point color" และตัวเลือก 4 รายการ ได้แก่ "blue", "red", "green", "black"
  • เพิ่มโค้ดในส่วน server เพื่อให้จุดในกราฟแสดงสีตามที่เลือกในปุ่มตัวเลือก (บรรทัดที่ 22)

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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)
แก้ไขและรันโค้ด