Zacznij terazZacznij za darmo

Dodaj układ

Jak widziałeś w poprzednich rozdziałach, zastosowanie układu w aplikacji Shiny jest ważne – pozwala uporządkować interfejs i sprawia, że korzystanie z niego jest wygodniejsze.

Aplikacja ma na razie niewiele elementów (jeden tytuł, dwa pola wejściowe, jedno wyjście z chmurą słów), więc na razie można sobie poradzić bez układu. W kolejnych ćwiczeniach aplikacja będzie jednak rosła, dlatego warto już teraz dodać układ z paskiem bocznym. Lepiej zorganizować strukturę wcześniej – dodawanie nowych elementów interfejsu do gotowego układu jest prostsze niż późniejsze porządkowanie rozbudowanej aplikacji bez żadnej struktury.

Zgodnie z popularną konwencją stosowaną w aplikacjach Shiny i innych interaktywnych narzędziach, elementy wejściowe znajdą się w węższym panelu bocznym, a główne wyjście (chmura słów) – w szerszym panelu głównym.

To ćwiczenie jest częścią kursu

Studia przypadków: tworzenie aplikacji webowych w Shiny w R

Zobacz kurs

Instrukcje do ćwiczenia

Twoim kolejnym zadaniem jest dodanie układu z paskiem bocznym do bieżącej aplikacji Shiny. Nie dodawaj żadnych nowych elementów interfejsu – chodzi wyłącznie o strukturę układu. Konkretnie:

  • Dodaj układ z paskiem bocznym do interfejsu użytkownika.
  • Wewnątrz tego układu zdefiniuj panel boczny, który będzie zawierał dwa elementy wejściowe.
  • Również wewnątrz układu zdefiniuj panel główny zawierający wyjście z chmurą słów (wiersz 12).

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod