Create a layout (sidebarLayout()
) with a sidebar (sidebarPanel()
) and
main area (mainPanel()
). The sidebar is displayed with a distinct
background color and typically contains input controls. The main
area occupies 2/3 of the horizontal width and typically contains outputs.
sidebarLayout( sidebarPanel, mainPanel, position = c("left", "right"), fluid = TRUE ) sidebarPanel(..., width = 4) mainPanel(..., width = 8)
sidebarPanel | The |
---|---|
mainPanel | The |
position | The position of the sidebar relative to the main area ("left" or "right"). |
fluid |
|
... | Output elements to include in the sidebar/main panel. |
width | The width of the sidebar and main panel. By default, the sidebar takes up 1/3 of the width, and the main panel 2/3. The total width must be 12 or less. |
Other layout functions:
fillPage()
,
fixedPage()
,
flowLayout()
,
fluidPage()
,
navbarPage()
,
splitLayout()
,
verticalLayout()
## Only run examples in interactive R sessions if (interactive()) { options(device.ask.default = FALSE) # Define UI ui <- fluidPage( # Application title titlePanel("Hello Shiny!"), sidebarLayout( # Sidebar with a slider input sidebarPanel( sliderInput("obs", "Number of observations:", min = 0, max = 1000, value = 500) ), # Show a plot of the generated distribution mainPanel( plotOutput("distPlot") ) ) ) # Server logic server <- function(input, output) { output$distPlot <- renderPlot({ hist(rnorm(input$obs)) }) } # Complete app with UI and server components shinyApp(ui, server) }