बॉडी

shinydashboard के साथ डैशबोर्ड बनाना

Png Kee Seng

Researcher

एक संक्षिप्त अवलोकन

  • shinydashboard UI का अधिकतर भाग
  • आम तौर पर, यहीं इनपुट और आउटपुट रखे जाते हैं
    • ये रेस्तरां के व्यंजन और ऑर्डर जैसे हैं
    • सर्वर संचार में मदद करता है
  • बॉडी dashboardBody() से परिभाषित होती है और प्रचलन में body के रूप में सहेजी जाती है
body <- dashboardBody(...)
shinydashboard के साथ डैशबोर्ड बनाना

वायरफ्रेमिंग

  • वायर-फ्रेमिंग करें
    • सामग्री जोड़ने से पहले ढाँचा तय करें
  • shinydashboard में, पहले ऑब्जेक्ट्स की पोज़िशन तय करें

एक ज़ेपेलिन का वायरफ्रेम.

1 Brett Jordan, Flickr
shinydashboard के साथ डैशबोर्ड बनाना

Rows और boxes जोड़ना: खाली boxes

  • fluidRow() से rows जोड़ें
  • और box() से boxes जोड़ें

डैशबोर्ड में दो rows, हर एक में दो खाली boxes.

body <- dashboardBody(

fluidRow(
box("Row 1, box 1"), box("Row 1, box 2")
), fluidRow(
box("Row 2, box 1"), box("Row 2, box 2")
)
)
shinydashboard के साथ डैशबोर्ड बनाना

Rows और boxes जोड़ना: boxes में सामग्री

बॉडी में चार boxes, कुछ में सामग्री.

body <- dashboardBody(
  fluidRow(box("Row 1, box 1", 

plotOutput('plot')),
box("Row 1, box 2")), fluidRow(box("Row 2, box 1"), box("Row 2, box 2",
selectInput("select", "Select team number:", choices = c(1,2))))
)
shinydashboard के साथ डैशबोर्ड बनाना

Overflow से बचें

  • डिफ़ॉल्ट रूप से, हर box क्षैतिज स्पेस के 12 में से 6 यूनिट लेता है
  • overflow रोकने के लिए width सेट करें
    • हमारे उदाहरण में widths: 3, 5 और 4
  • box() जोड़ना अत्यधिक अनुशंसित है

बॉडी में और boxes

body <- dashboardBody(
  fluidRow(box("Row 1, box 1"), 
           box("Row 1, box 2"),
           box("Row 1, box 3")),
  fluidRow(box("Row 2, box 1"), 
           box("Row 2, box 2"))
)
body <- dashboardBody(
  fluidRow(box("Row 1, box 1", width = 3), 
           box("Row 1, box 2", width = 5),
           box("Row 1, box 3", width = 4)),
  fluidRow(box("Row 2, box 1"), 
           box("Row 2, box 2"))
)
shinydashboard के साथ डैशबोर्ड बनाना

valueBox और infoBox

  • कुछ boxes छोटी जानकारी दिखाते हैं
    • valueBox()
    • infoBox()

बॉडी में valueBox और infoBox.

body <- dashboardBody(
  fluidRow(valueBox(value = 3, 
                    subtitle = "कुल दिए गए रेड कार्ड्स", 
                    icon = icon("user"),
                    color = "red"),

infoBox(value = 158, title = "कुल किए गए गोल्स", icon = icon("futbol")) ))
shinydashboard के साथ डैशबोर्ड बनाना

valueBoxOutput और infoBoxOutput

  • valueBox() और infoBox() के रूपांतर: valueBoxOutput() और infoBoxOutput()
  • ये आउटपुट फंक्शंस हैं
  • renderValueBox() और renderInfoBox() भी होते हैं
  • valueBox() और infoBox() आवश्यक हैं

बॉडी में valueBoxOutput और infoBoxOutput. देखें कि रेंडर हुआ shinydashboard पहले जैसा ही है.

body <- dashboardBody(
  fluidRow(valueBoxOutput(outputId = "valuebox1"),
           infoBoxOutput(outputId = "infobox1")
           ))
server <- function(input, output){
  output$valuebox1 <- renderValueBox(
    valueBox(3, "कुल दिए गए रेड कार्ड्स",
                icon = icon("user"), color = "red"))
  output$infobox1 <- renderInfoBox(
    infoBox(158, 
                   title = "कुल किए गए गोल्स", 
                   icon = icon("futbol")))
}
shinydashboard के साथ डैशबोर्ड बनाना

valueBoxOutput और plotOutput का समानता-बोध

  • plotOutput():
    • UI में रखा जाता है
    • shinydashboard में इसकी position तय करता है
  • renderPlot():
    • server() में रखा जाता है
    • इसमें ggplot() ऑब्जेक्ट होता है
  • valueBoxOutput():
    • UI में रखा जाता है
    • shinydashboard में इसकी position तय करता है
  • renderValueBox():
    • server() में रखा जाता है
    • इसमें valueBox() ऑब्जेक्ट होता है
shinydashboard के साथ डैशबोर्ड बनाना

साइडबार और बॉडी लिंक करना

  • याद करें, हमारे पास साइडबार में दो बटन थे: "charts" और "statistics"
  • इन्हें बॉडी से लिंक करने के लिए tabItems() जोड़ेंगे
    • हर पेज tabItem() से परिभाषित होता है
    • हर menuItem()-tabItem() जोड़ी के लेबल मैच करने चाहिए

अब बॉडी और साइडबार लिंक हो गए हैं

sidebar <- dashboardSidebar(
  sidebarMenu(
    id = "pages",

menuItem("Many charts", tabName = "charts", icon = icon("chart-line"), badgeLabel = "New content!", badgeColor = "green"),
menuItem("Statistics", icon = icon("file-excel"), tabName = "statistics", badgeLabel = "urgent", badgeColor = "red") ))
body <- dashboardBody( tabItems(
tabItem("charts", "Charts go here." ), tabItem("statistics", "Statistics go here." )))
shinydashboard के साथ डैशबोर्ड बनाना

बॉडी में Tabs

  • shinyApp में, tabs का सेट tabsetPanel() से भी बन सकता है
    • हर tab tabPanel() से परिभाषित होता है
  • इसे tabItems() और tabItem() से न मिलाएँ

बॉडी के भीतर tabsets जोड़ना

body <- dashboardBody(tabsetPanel(

tabPanel("Distributions", box(plotOutput("dist"))), tabPanel("Statistics", dateInput("matchdate", "मैच की तारीख दर्ज करें:", value = "2022-11-20"), valueBoxOutput("red"), valueBoxOutput("yellow")), tabPanel("Data", "Data goes here.", tableOutput("data"))
))
server <- function(input, output){ output$red <- renderValueBox(valueBox(0, "Red cards")) output$yellow <- renderValueBox(valueBox(6, "Yellow cards")) }
shinydashboard के साथ डैशबोर्ड बनाना

अभ्यास करते हैं!

shinydashboard के साथ डैशबोर्ड बनाना

Preparing Video For Download...