Wenn Sie das Layout fluidPage
verwenden möchten und Ihre Frage nur layoutbezogen ist: Meine Idee wäre, diese Widgets in Panels zu "gruppieren" und dann den Stil (CSS) dieser Panels anzupassen. Sie können beispielsweise das Rasterlayout oder das Seitenleistenlayout verwenden.
Beispiel genommen from this post.
library(shiny)
ui <- shinyUI(fluidPage(
tags$head(tags$style(
HTML('
#sidebar, #sidebar2 {
border: 1px solid black;
}
body, label, input, button, select {
font-family: "Arial";
}')
)),
titlePanel("Hello Shiny!"),
fluidRow(
column(4,
sidebarLayout(
sidebarPanel(width = 12, id="sidebar",
h5("Pants size"),
sliderInput("waist",
"waist:",
min = 1,
max = 50,
value = 30),
sliderInput("inseam",
"inseam:",
min = 1,
max = 50,
value = 30)
),
mainPanel(width = 0)
)
),
column(8,sidebarLayout(
sidebarPanel(width = 12, id="sidebar2",
h5("T-shirt size"),
selectInput("waist",
"Choose your size:",
choices = c("XS","S","M","L","XL")),
radioButtons("sex",
"sex:",
choices = c("unisex","women's"))
),
mainPanel(width = 0)
))
)
)
)
server <- shinyServer(function(input, output) {
})
shinyApp(ui=ui,server=server)
In diesem Beispiel haben die kritischen Platten zwei IDs sidebar
und sidebar2
genannt. Diese IDs werden im obigen CSS-Abschnitt verwendet. Lesen Sie mehr über Panels hier:
Eine weitere Möglichkeit, Boxen zu verwenden shinydashboards ist, lesen Sie mehr darüber hier: https://rstudio.github.io/shinydashboard/structure.html#boxes
Dank! Ich werde mit Shinydashboards gehen, da ich viele Boxen möchte. – MissMonicaE