I would like to create a shiny app with a navigation bar BUT ALSO be able to configure the layout on the page using fluid row() and fluid Column().
I read the "NAV BAR PAGES" and "FLUID GRID SYSTEM" areas here http://shiny.rstudio.com/articles/layout-guide.html and under FLUID GRID SYSTEM it says "To create a layout based on the fluid system you use the fluidPage() function." so here is my example:
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
So the above code works and it has a navigation bar. BUT I would like to add another fluid row on the ui.r page in the "test" tab panel. You can see I commented out these lines:
#fluidRow(
# column(width=5, plotOutput("plot2")),
# column(width=5, plotOutput("plot3"))
# )
I would like to uncomment them and show a fluid row with 2 columns. BUT when I uncomment those lines the application does not return anything.
So is it possible to have a nav bar page and do fluid layouts like this?
Or do i need to use fluidPAge() instead of navBarPage()? BUT THEN how do you do a nav bar with fluidPage??
Yes, you can.
It says in the documentation that you can turn this on with fluid = TRUE
:
fluid TRUE to use a fluid layout. FALSE to use a fixed layout.