शुरू करेंमुफ़्त में शुरू करें

Statuses और UI को पूरा करना

अच्छे UI के सिद्धांतों में से एक यह कहता है कि रंगों का उपयोग सहज तरीके से होना चाहिए। हमारे लिए अच्छी बात यह है कि shinydashboard के कुछ एलिमेंट्स में statuses सेट करने का विकल्प होता है। यह उपयुक्त एलिमेंट्स, जैसे box(), notificationItem(), dropdownMenu() में status आर्ग्युमेंट जोड़कर किया जाता है, हालाँकि बाद के दो फंक्शंस इस कोर्स में कवर नहीं किए जाएँगे।

status = "success" सेट करने पर हरा रंग मिलता है, status = "danger" पर लाल, status = "warning" पर नारंगी, इत्यादि।

यह अभ्यास पाठ्यक्रम का हिस्सा है

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

पाठ्यक्रम देखें

अभ्यास निर्देश

  • तीसरी पंक्ति के पहले बॉक्स का status "success" में बदलें.
  • लाइनों 28 से 33 को देखें, जहाँ दूसरी पंक्ति के ValueBox()s के लिए values दी गई हैं, और वही काम तीसरी पंक्ति वाले के लिए भी करें.
  • उस plotly ऑब्जेक्ट का आउटपुट परिभाषित करें जिसका नाम पिछले स्टेप में "line" रखा गया था.
  • अभी परिभाषित किए गए ui और server का उपयोग करके shinydashboard रेंडर करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

header <- dashboardHeader(title = "Portfolio information")
sidebar <- dashboardSidebar(disable = TRUE)

body <- dashboardBody(
          fluidRow(box(selectInput("stock", "Stock name", choices = c("AAPL", "DIS")))),
          fluidRow(valueBoxOutput("name", width = 2), 
                   valueBoxOutput("open", width = 2), 
                   valueBoxOutput("close", width = 2), 
                   valueBoxOutput("high", width = 2), 
                   valueBoxOutput("low", width = 2), 
                   valueBoxOutput("vol", width = 2)),
          # Change status to "success"
          fluidRow(box("This stock is in your portfolio", width = 2, status = "danger"), 
                   valueBoxOutput("open_pct", width = 2), 
                   valueBoxOutput("close_pct", width = 2), 
                   valueBoxOutput("high_pct", width = 2), 
                   valueBoxOutput("low_pct", width = 2), 
                   valueBoxOutput("vol_pct", width = 2)),
          fluidRow(box(plotlyOutput("line")), 
                   box(radioButtons("feature", "Features", 
                       choiceNames = c("Open", "Close", "High", "Low", "Volume"),
                       choiceValues = c("open", "close", "high", "low", "volume")) ) )
          )

ui <- dashboardPage(header, sidebar, body)

server <- function(input, output) {
  output$name <- renderValueBox(valueBox("Stock name", get_name(input$stock), color = "black"))
  output$open <- renderValueBox(valueBox("Open price", most_recent(input$stock, "open"), color = "black"))
  output$close <- renderValueBox(valueBox("Close price", most_recent(input$stock, "close"), color = "black"))
  output$high <- renderValueBox(valueBox("High", most_recent(input$stock, "high"), color = "black"))
  output$low <- renderValueBox(valueBox("Low", most_recent(input$stock, "low"), color = "black"))
  output$vol <- renderValueBox(valueBox("Volume", most_recent(input$stock, "volume"), color = "black"))
  # Specify the values for ValueBoxes in the third row
  output$open_pct <- ___(valueBox("Change", paste0(most_recent_pct(input$stock, "open"),"%"), color = box_color(most_recent_pct(input$stock, "open"))))
  ___ <- ___(___("Change", paste0(most_recent_pct(input$stock, "close"),"%"), color = box_color(most_recent_pct(input$stock, "close"))))
  ___ <- ___(___("Change", paste0(most_recent_pct(input$stock, "high"),"%"), color = box_color(most_recent_pct(input$stock, "high"))))
  ___ <- ___(___("Change", paste0(most_recent_pct(input$stock, ___),"%"), color = box_color(most_recent_pct(input$stock, ___))))
  ___ <- ___(___("Change", paste0(most_recent_pct(___, ___),"%"), color = box_color(most_recent_pct(___, ___))))
  # Plotly object in the fourth row
  ___ <- ___(plot_line(input$stock, input$feature))
}

# Render the dashboard using shinyApp()
___
कोड संपादित करें और चलाएँ