Kom igångKom igång gratis

Lägg till struktur i din app

Layouter i Shiny används för att ge din app struktur genom att placera element på önskade positioner.

En sidopanellayout, skapad med funktionen sidebarLayout(), ger en enkel tvåkolumnstruktur med en smalare sidopanel till vänster och en större huvudpanel till höger.

Funktionen för sidopanellayout tar två argument: sidebarPanel() och mainPanel(). Varje panel kan innehålla en godtycklig blandning av text- och HTML-element, på samma sätt som du kan blanda dessa element inuti en fluidPage().

Den här övningen är en del av kursen

Fallstudier: Bygg webbapplikationer med Shiny i R

Visa kurs

Övningsinstruktioner

Din uppgift är att lägga till en sidopanellayout i den befintliga appen, så att indata visas till vänster och utdata visas i huvudpanelen. Du behöver göra följande:

  • Definiera användargränssnittet för Shiny-applikationen.
  • Lägg till en sidopanellayout på sidan.
  • Lägg till en sidopanel i layouten och placera indata och text i den.
  • Lägg till en huvudpanel i layouten och placera diagrammet och tabellen i den.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Load the shiny package
library(shiny)

# Define UI for the application
ui <- ___(
  # Add a sidebar layout to the application
  ___(
    # Add a sidebar panel around the text and inputs
    ___(
      h4("Plot parameters"),
      textInput("title", "Plot title", "Car speed vs distance to stop"),
      numericInput("num", "Number of cars to show", 30, 1, nrow(cars)),
      sliderInput("size", "Point size", 1, 5, 2, 0.5)
    ),
    # Add a main panel around the plot and table
    ___(
      plotOutput("plot"),
      tableOutput("table")
    )
  )
)

# Define the server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    plot(cars[1:input$num, ], main = input$title, cex = input$size)
  })
  output$table <- renderTable({
    cars[1:input$num, ]
  })
}

# Run the application
shinyApp(ui = ui, server = server)
Redigera och kör kod