Aggiungi un layout
Come hai visto nei capitoli precedenti, usare un layout in un'app Shiny è importante per organizzare l'interfaccia e renderla più facile da usare.
L'app al momento ha pochissimi oggetti (un titolo, due input, un output per la word cloud), quindi è ancora gestibile anche senza layout. Tuttavia, l'app crescerà nei prossimi esercizi e avere una barra laterale sarà utile. È una buona idea aggiungere un layout all'app prima che tardi, perché inserire nuovi elementi dell'interfaccia Shiny in un layout già definito è più semplice che riorganizzare in seguito un'app più grande e non strutturata.
Come spesso accade con le app Shiny e altre applicazioni interattive, gli input saranno mantenuti nella barra laterale più piccola, mentre l'output principale (la word cloud) sarà nel pannello principale più grande.
Questo esercizio fa parte del corso
Casi di studio: creare applicazioni web con Shiny in R
Istruzioni dell'esercizio
Il tuo prossimo compito è aggiungere un layout con barra laterale all'app Shiny corrente. Non vanno aggiunti nuovi elementi UI oltre alla struttura del layout. In particolare:
- Aggiungi un layout con barra laterale alla UI.
- All'interno del layout, definisci un pannello laterale che contenga i due input.
- Sempre all'interno del layout, definisci un pannello principale che contenga l'output della word cloud (riga 12).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
ui <- fluidPage(
h1("Word Cloud"),
# Add a sidebar layout to the UI
___(
# Define a sidebar panel around the inputs
___(
numericInput("num", "Maximum number of words",
value = 100, min = 5),
colourInput("col", "Background color", value = "white")
),
# Define a main panel around the output
___(
wordcloud2Output("cloud")
)
)
)
server <- function(input, output) {
output$cloud <- renderWordcloud2({
create_wordcloud(artofwar,
num_words = input$num, background = input$col)
})
}
shinyApp(ui = ui, server = server)