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)
The sidebarPanel()
containing input controls.
The mainPanel()
containing outputs.
The position of the sidebar relative to the main area ("left" or "right").
TRUE
to use fluid layout; FALSE
to use fixed
layout.
Output elements to include in the sidebar/main panel.
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()
# NOT RUN { ## 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) } # }
Run the code above in your browser using DataCamp Workspace