เพิ่มสีให้กับกราฟ: ปุ่มตัวเลือก (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)