ÎncepețiÎncepe gratuit

Adaugă un layout

Așa cum ai văzut în capitolele anterioare, utilizarea unui layout într-o aplicație Shiny este importantă pentru a organiza interfața și a o face mai ușor de utilizat.

Aplicația are deocamdată foarte puține elemente (un titlu, două inputuri și un output cu norul de cuvinte), deci este gestionabilă și fără un layout. Totuși, aplicația va crește în exercițiile următoare, iar un layout cu bară laterală va fi de mare ajutor. Este o idee bună să adaugi un layout mai devreme decât mai târziu, deoarece este mai simplu să inserezi noi elemente de UI într-un layout existent decât să reorganizezi ulterior o aplicație mai mare și nestructurată.

Așa cum se face în mod obișnuit în aplicațiile Shiny și în alte aplicații interactive, inputurile vor fi păstrate în bara laterală mai mică, iar outputul principal (norul de cuvinte) va fi plasat în panoul principal, mai larg.

Acest exercițiu face parte din cursul

Studii de caz: Construirea aplicațiilor web cu Shiny în R

Vezi cursul

Instrucțiuni pentru exercițiu

Următoarea ta sarcină este să adaugi un layout cu bară laterală aplicației Shiny curente. Nu trebuie adăugate elemente noi de UI, ci doar structura pentru layout. Mai concret:

  • Adaugă un layout cu bară laterală în UI.
  • În interiorul layout-ului, definește un panou lateral care să conțină cele două inputuri.
  • Tot în interiorul layout-ului, definește un panou principal care să conțină outputul cu norul de cuvinte (linia 12).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul