Adaugă structură aplicației tale
Layout-urile în Shiny îți permit să structurezi aplicația plasând elementele în pozițiile dorite.
Un layout cu bară laterală, creat cu funcția sidebarLayout(), oferă o structură de bază pe două coloane: o bară laterală mai îngustă în stânga și un panou principal mai larg în dreapta.
Funcția pentru layout-ul cu bară laterală primește doi argumenți: sidebarPanel() și mainPanel(). Fiecare dintre aceste panouri poate conține orice combinație de elemente text/HTML, similar modului în care poți combina aceste elemente în interiorul unui fluidPage().
Acest exercițiu face parte din cursul
Studii de caz: Construirea aplicațiilor web cu Shiny în R
Instrucțiuni pentru exercițiu
Sarcina ta este să adaugi un layout cu bară laterală aplicației existente, astfel încât elementele de input să fie în stânga, iar cele de output în panoul principal. Mai exact, trebuie să:
- Definești interfața utilizator (UI) pentru aplicația Shiny.
- Adaugi un layout cu bară laterală în pagină.
- Adaugi un panou lateral în layout și să plasezi în el inputurile și textul.
- Adaugi un panou principal în layout și să plasezi în el graficul și tabelul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Load the shiny package
library(shiny)
# Define UI for the application
ui <- ___(
# Add a sidebar layout to the application
___(
# Add a sidebar panel around the text and inputs
___(
h4("Plot parameters"),
textInput("title", "Plot title", "Car speed vs distance to stop"),
numericInput("num", "Number of cars to show", 30, 1, nrow(cars)),
sliderInput("size", "Point size", 1, 5, 2, 0.5)
),
# Add a main panel around the plot and table
___(
plotOutput("plot"),
tableOutput("table")
)
)
)
# Define the server logic
server <- function(input, output) {
output$plot <- renderPlot({
plot(cars[1:input$num, ], main = input$title, cex = input$size)
})
output$table <- renderTable({
cars[1:input$num, ]
})
}
# Run the application
shinyApp(ui = ui, server = server)