Skip to content
Siamcoder

การสร้างกราฟและผนวกรรมใน RShiny

rshiny1 min read

การสร้างกราฟและแดชบอร์ดใน RShiny เป็นวิธีที่ดีในการแสดงผลข้อมูลในรูปแบบที่น่าสนใจและสื่อความหมายได้อย่างชัดเจน ในบทความนี้เราจะสำรวจวิธีการสร้างกราฟและแดชบอร์ดใน RShiny พร้อมกับตัวอย่างโค้ด

ตัวอย่างการสร้างกราฟและแดชบอร์ดใน RShiny:

library(shiny)
library(ggplot2)
library(plotly)
library(shinydashboard)
# กำหนด UI
ui <- dashboardPage(
dashboardHeader(title = "การสร้างกราฟและแดชบอร์ดใน RShiny"),
dashboardSidebar(),
dashboardBody(
# ส่วนแสดงผลกราฟ
tabItems(
tabItem(tabName = "plot",
fluidRow(
box(plotOutput("scatterplot"), width = 6),
box(plotOutput("histogram"), width = 6)
)
)
)
)
)
# กำหนด Server
server <- function(input, output) {
# สร้างกราฟและแสดงผล
output$scatterplot <- renderPlot({
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point()
})
output$histogram <- renderPlot({
ggplot(mtcars, aes(x = mpg)) +
geom_histogram()
})
}
# เรียกใช้งานแอปพลิเคชัน
shinyApp(ui = ui, server = server)`

ในตัวอย่างนี้ เราใช้ library ggplot2 เพื่อสร้างกราฟและ shinydashboard เพื่อสร้างแดชบอร์ด

ในส่วนของ UI เรากำหนดให้แสดงผลกราฟและแดชบอร์ดในรูปแบบที่ต้องการ ในตัวอย่างนี้เราใช้ plotOutput และ box เพื่อแสดงผลกราฟเป็นแผง

ในส่วนของ Server เราใช้ renderPlot เพื่อสร้างและแสดงผลกราฟ ในตัวอย่างนี้เราสร้างกราฟแบบเม็ดพลัง (scatterplot) และกราฟแบบฮิสโตแกรม (histogram) โดยใช้ข้อมูลจากตัวอย่างข้อมูล mtcars

เมื่อรันโค้ดด้านบน แอปพลิเคชัน RShiny จะถูกสร้างขึ้นและแสดงผลบนหน้าเว็บ เป็นกราฟและแดชบอร์ดที่เราได้สร้างขึ้นให้เหมาะสมและน่าสนใจ

เมื่อเรารันโค้ดด้านบนแล้ว แอปพลิเคชัน RShiny ที่เราสร้างขึ้นจะปรากฏหน้าต่างแดชบอร์ดที่มีส่วนหัวว่า "การสร้างกราฟและแดชบอร์ดใน RShiny" ซึ่งจะประกอบไปด้วยส่วนหัวและส่วนของเนื้อหา ในส่วนของเนื้อหาจะมีสองแท็บคือแท็บ "plot" ที่จะแสดงกราฟและแท็บอื่น ๆ ที่เราสามารถเพิ่มได้ตามต้องการ

ในแท็บ "plot" เราใช้ fluidRow เพื่อกำหนดแถวที่เก็บกล่องข้อมูล ภายในแถว เราใช้ box เพื่อสร้างกล่องที่จะแสดงผลกราฟ เราให้กล่องกราฟแบบเม็ดพลังแสดงผลจากข้อมูล mtcars โดยใช้ plotOutput("scatterplot") และกล่องกราฟแบบฮิสโตแกรมแสดงผลจากข้อมูล mtcars โดยใช้ plotOutput("histogram")

ในส่วนของ Server เราใช้ renderPlot เพื่อสร้างและแสดงผลกราฟ ในตัวอย่างนี้เราสร้างกราฟแบบเม็ดพลัง (scatterplot) และกราฟแบบฮิสโตแกรม (histogram) โดยใช้ข้อมูลจากตัวแปร mtcars และใช้ฟังก์ชัน ggplot2 ในการสร้างกราฟ

เมื่อรันโค้ดด้านบน แอปพลิเคชัน RShiny จะถูกสร้างขึ้นและแสดงผลบนหน้าเว็บ ผู้ใช้งานสามารถเลือกแท็บที่ต้องการแสดงผลได้ และจะมีการแสดงกราฟและแดชบอร์ดตามที่เราได้กำหนดไว้ใ