Додайте макет
Як ви бачили в попередніх розділах, використання макета в застосунку Shiny допомагає впорядкувати інтерфейс і зробити його зручнішим.
Зараз у застосунку небагато об'єктів (один заголовок, два вводи, один результат — хмара слів), тож без макета ще можна впоратися. Однак у наступних вправах застосунок зростатиме, і наявність макета з бічною панеллю буде корисною. Краще додати макет раніше, адже вставляти нові елементи інтерфейсу Shiny в уже наявну структуру простіше, ніж пізніше переробляти великий неструктурований застосунок.
Як це зазвичай роблять у Shiny та інших інтерактивних застосунках, елементи вводу тримайте в меншій бічній панелі, а основний результат (хмара слів) — у більшій головній панелі.
Ця вправа є частиною курсу
Case Studies: створення вебзастосунків із Shiny в R
Інструкції до вправи
Ваше наступне завдання — додати макет із бічною панеллю до поточного застосунку Shiny. Не додавайте нових елементів інтерфейсу, окрім структури самого макета. Зокрема:
- Додайте до UI макет із бічною панеллю.
- Усередині цього макета визначте бічну панель, у якій розмістіть два елементи вводу.
- Також у межах цього макета визначте головну панель, що міститиме результат — хмару слів (рядок 12).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)