具有固定侧边栏的狭窄窗口中的R闪亮侧边栏布局问题

时间:2018-06-20 23:27:36

标签: r shiny position size sidebar

最初,我有一个sidebarLayout,当闪亮的应用程序窗口太窄时,mainPanel移到sidebarPanel下方(对此我没有任何抱怨)。但是,然后我想固定sidebarPanel的位置,以便在我向下滚动mainPanel时可以“跟随”。我找到了解决方案,但是,这创建了一个新问题,当闪亮的应用程序窗口过窄时会发生此问题。现在,不再将mainPanel放在sidebarPanel下方,而是将mainPanel覆盖了sidebarPanel。在修复sidebarPanel时,这并不让我感到惊讶。

但是,如果可能的话,我希望sidebarPanel的固定位置版本保留旧的行为(mainPanel在狭窄的窗口中位于其下方)。我意识到这可能是不可能的,因为如果mainPanel下降到sidebarPanel之下,那么要进入mainPanel,您必须向下滚动,并且这样做可能会使sidebarPanel随身携带。因此,如果反而有一种不同的方法可以使光泽处理超窄的窗口,那就可以。

如果任何人都可以使用固定的侧面板而不需要使用sidebarLayout()的替代解决方案,而这完全避免了我的问题,那么我愿意尝试一下。

以下是我从另一个问题中借来的一个玩具示例: Make sidebarPanel autoscroll with mainPanel in shiny

library("shiny")

ui <- fluidPage(

  titlePanel(
    "Fixed sidebar panel"
  ),

  sidebarLayout(

    sidebarPanel(
      style = "position:fixed;width:inherit;",
      "Inputs",
      width = 3),


    mainPanel(

      lapply(
        X = 1:20,
        FUN = function(i) {
          plotOutput(outputId = paste("plot", i, sep = "-"))
        }
      ),

      width = 9 )

  ))

server <- function(input, output, session) {

  lapply(
    X = 1:20,
    FUN = function(i) {
      output[[paste("plot", i, sep = "-")]] <- renderPlot({plot(rnorm(10))})
    }
  )

}

shinyApp(ui = ui, server = server)

0 个答案:

没有答案