我正在使用Shinydashboard显示一些绘图,并将其放入框中。我发现的是,使用默认宽度,当应用未最大化时,框太小。如果更改宽度,则可以在打开应用程序时将它们设置为正确的大小,但是当窗口最大化时,它们太大了,看起来很拉长,或者至少不必要地大。这是因为width参数是动态的,因此响应屏幕尺寸。
理想情况下,我想保留此动态元素,但要为盒子设置最小和最大宽度。如果这不可能,那么我想设置一个固定的宽度。
可能这需要一些我缺少的CSS知识!
非常简单的示例代码:
library("shiny")
library("shinydashboard")
sidebar <- dashboardSidebar()
body <- dashboardBody(
fluidRow(
box(width = 12)
)
)
ui <- dashboardPage(dashboardHeader(title = "Example"),
sidebar,
body
)
server <- function(input, output) {
}
shinyApp(ui, server)
答案 0 :(得分:3)
我倾向于解决这类布局问题通常是利用Bootstrap的grid system。您可以将其应用于示例,如下面的代码片段所示。请注意,我添加了第二个框来更好地说明行为,您可以使用class参数来使其与所需的行为匹配。希望这会有所帮助!
library("shiny")
library("shinydashboard")
sidebar <- dashboardSidebar()
body <- dashboardBody(
fluidRow(
div(class = "col-sm-12 col-md-6 col-lg-4",
box(width = '100%', title= 'This is the first test box')
),
div(class = "col-sm-12 col-md-6 col-lg-4",
box(width = '100%', title= 'This is the second test box')
)
)
)
ui <- dashboardPage(dashboardHeader(title = "Example"),
sidebar,
body
)
server <- function(input, output) {
}
shinyApp(ui, server)