R Shiny // Excel功能"冻结窗格"

时间:2016-09-08 11:56:18

标签: r shiny

我有一个"头部空间"我的闪亮应用程序中有一些selectInput小部件。下面有一些依赖于这些过滤器的图表。有没有办法冻结我闪亮的应用程序的上半部分(包含所有过滤器的应用程序),这样我可以向上滚动并查看不同的图表,同时让我的过滤器在顶部?

非常感谢!

1 个答案:

答案 0 :(得分:0)

查看Bootstrap's Affix方法。那里有很多很好的教程。在Shiny中使用,它可能看起来像:

<强> ui.R

library(shiny)

shinyUI(fluidPage(
  titlePanel("Bootstrap Affix in Shiny"),

  mainPanel(
    div('data-spy'="affix", 'data-offset-top'="100",
      wellPanel(
        selectInput("pick", label = "Choose One", choices = c("A", "B", "C"))
      )  
    ),
    plotOutput("sampleplot", height = "700px"),
    h1("Some text"),
    h1("Some text"),
    h1("Some text"),
    h1("Some text"),
    h1("Some text"),
    h1("Some text"),
    h1("Some text"),
    h1("Some text")
  )
)
)

<强> server.R

library(shiny)
library(ggplot2)

shinyServer(function(input, output) {

  output$sampleplot <- renderPlot({

    df <- data.frame(a = c(1,4,8), b = c(9,10,20))

    ggplot(df, aes(x = a, y = b)) +
      geom_point()

  })
})

在应用的“www”目录中设置CSS文件

.affix {
  top: 0;
  width: 100%;

}

.affix-top {
  width: 100%;
}