Ajouter de la structure à votre application
Les mises en page dans Shiny servent à structurer votre application en plaçant des éléments à des emplacements précis.
Une mise en page avec barre latérale, créée avec la fonction sidebarLayout(), offre une structure de base à deux colonnes : une barre latérale plus étroite à gauche et un panneau principal plus large à droite.
La fonction de mise en page avec barre latérale prend deux arguments : sidebarPanel() et mainPanel(). Chacun de ces panneaux peut contenir n'importe quel mélange d'éléments texte/HTML, de façon similaire à la manière dont vous pouvez combiner ces éléments à l'intérieur d'un fluidPage().
Cette activité fait partie du cours
Études de cas : créer des applications Web avec Shiny en R
Instructions de l’exercice
Votre tâche consiste à ajouter une mise en page avec barre latérale à l'application existante, de sorte que les entrées se trouvent à gauche et les sorties dans le panneau principal. Plus précisément, vous devez :
- Définir l'interface utilisateur (UI) de l'application Shiny.
- Ajouter une mise en page avec barre latérale à la page.
- Ajouter un panneau latéral à la mise en page, et y placer les entrées et le texte.
- Ajouter un panneau principal à la mise en page, et y placer le graphique et le tableau.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)