2015-05-19 120 views
1

我有一个有两个相关分析的闪亮应用程序。在每个分析中都有一些不同类型的结果。主面板中的可折叠输出

界面变得非常忙碌,我想让输出元素可折叠(maybe like this)。

这种类型的ui文件是否有任何示例?我目前的一个看起来是这样的:

shinyUI(
    fluidPage(
     tabsetPanel(
     tabPanel("Analysis 1", 
       sidebarPanel(
        sliderInput("value1", "some value", 
           min=1, max=20, value=5, step=0.2) 
       ), 
       mainPanel(
        ## these two elements collapse together 
        p(textOutput("results_1_a_text")), 
        plotOutput("results_1_a_graph", height = "400px"), 
        ## these two elements collapse together 
        p(textOutput("results_1_b_text")), 
        plotOutput("results_1_b_graph", height = "400px") 
       ) 
     ), 
     tabPanel("Analysis 2", 
       sidebarPanel(
        sliderInput("value2", "some value", 
           min=1, max=20, value=5, step=0.2) 
       ), 
       mainPanel(
        ## these two elements collapse together 
        p(textOutput("results_2_a_text")), 
        plotOutput("results_2_a_graph", height = "400px"), 
        ## these two elements collapse together 
        p(textOutput("results_2_b_text")), 
        plotOutput("results_2_b_graph", height = "400px") 
       ) 
     ) 
    ) 
    ) 
) 

感谢,

最大

+0

您可折叠的含义是什么?我不明白这个例子。 –

+0

为什么不使用shinydashboard,因为它有内置的 –

+0

这个功能上校 - [链接](http://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_ref_js_collapse_simple_in&stacked = h)显示了一个折叠内容的例子。我希望能够折叠由服务器文件生成的一系列结果(例如文本,图表等)。 – topepo

回答

3

看一看的ShinyBS。从那里取得的例子

library(shiny) 
library(shinyBS) 

shinyApp(
    ui = 
    fluidPage(
     sidebarLayout(
     sidebarPanel(HTML("This button will open Panel 1 using updateCollapse."), 
        actionButton("p1Button", "Push Me!"), 
        selectInput("styleSelect", "Select style for Panel 1", 
           c("default", "primary", "danger", "warning", "info", "success")) 
     ), 
     mainPanel(
      bsCollapse(id = "collapseExample", open = "Panel 2", 
        bsCollapsePanel("Panel 1", "This is a panel with just text ", 
            "and has the default style. You can change the style in ", 
            "the sidebar.", style = "info"), 
        bsCollapsePanel("Panel 2", "This panel has a generic plot. ", 
            "and a 'success' style.", plotOutput("genericPlot"), style = "success") 
     ) 
     ) 
    ) 
    ), 
    server = 
    function(input, output, session) { 
     output$genericPlot <- renderPlot(plot(rnorm(100))) 
     observeEvent(input$p1Button, ({ 
     updateCollapse(session, "collapseExample", open = "Panel 1") 
     })) 
     observeEvent(input$styleSelect, ({ 
     updateCollapse(session, "collapseExample", style = list("Panel 1" = input$styleSelect)) 
     })) 
    } 
)