R Shiny你有一个导航栏并有一个流畅的页面布局

时间:2015-09-17 19:14:33

标签: r shiny shinydashboard

我想创建一个带导航栏的闪亮应用程序,但也可以使用流体行()和流体列()配置页面上的布局。

我在这里阅读了“NAV BAR PAGES”和“FLUID GRID SYSTEM”区域http://shiny.rstudio.com/articles/layout-guide.html,在FLUID GRID SYSTEM下,它说“要根据流体系统创建布局,请使用fluidPage()函数。”所以这是我的例子:

server.r

shinyUI(navbarPage("",
                   tabPanel("test",
                            #THIS IS THE SIDEBAR INPUT PANEL
                            column(2,wellPanel(
                              selectInput("x", "x:", c(5, 10,30,60),selected = 5)
                            )),

                            #THIS IS THE MAIN CONTENT
                            column(10, 
                                   fluidRow( plotOutput("plot3")) #,

                                              #fluidRow( 
                                              #   column(width=5, plotOutput("plot2")),
                                               #  column(width=5, plotOutput("plot3"))      
                                             # )                                         
                            )#end of main body columns 
                   )#end tab panel

                                      ,
                                      tabPanel("summary",
                                               verbatimTextOutput("summary")
                                      ),
                                      navbarMenu("More Info",
                                                 tabPanel("Test1",
                                                          dataTableOutput("table")
                                                 )
                                      )
))


ui.r

library(shinydashboard)
library(reshape)
library(quantmod)
library(ggplot2)
library(reshape2)
library(scales)

shinyServer(function(input, output, session) {
  output$plot1 <- renderPlot({
    #plot(cars, type=input$plotType)
    plot(c(1))
  })

  output$plot2 <- renderPlot({
    #plot(cars, type=input$plotType)
    plot(c(100))
  })

  output$plot3 <- renderPlot({
    #plot(cars, type=input$plotType)
    plot(c(-2001))
  })


  output$summary <- renderPrint({
    summary(cars)
  })

  output$table <- renderDataTable({
    cars
  }, options=list(pageLength=10))
})#### END OF SHINY SERVER FUNCTION

所以上面的代码有效,它有一个导航栏。但是我想在“测试”选项卡面板的ui.r页面上添加另一个流体行。你可以看到我注释掉了这些内容:

                                  #fluidRow( 
                                  #   column(width=5, plotOutput("plot2")),
                                   #  column(width=5, plotOutput("plot3"))      
                                 # )    

我想取消注释它们并显示一个包含2列的流畅行。但是,当我取消注释这些行时,应用程序不会返回任何内容。

那么有可能有一个导航栏页面并做这样的流畅布局吗?

或者我是否需要使用fluidPAge()而不是navBarPage()?那么你如何使用fluidPage ??

进行导航栏

2 个答案:

答案 0 :(得分:4)

是的,你可以。

它在documentation中说明您可以使用fluid = TRUE启用此功能:

  

流体 TRUE以使用流体布局。 FALSE使用固定布局。

答案 1 :(得分:0)

根据我的经验,不是真的。我遇到了同样的问题,因为我想在navBar布局中堆叠图。
您将不得不使用tabsetPanel来隔离您的内容 - 请参阅R Shiny navbarMenu上接受的答案。