加入版面配置
如同你在前面章節所看到的,在 Shiny 應用程式中使用版面配置可以幫助整理介面,讓操作更容易。
目前的應用程式物件不多(1 個標題、2 個輸入、1 個文字雲輸出),即使沒有版面配置也還能掌握。不過,在接下來的練習中應用程式會逐步擴充,加入側邊欄版面配置會更有幫助。盡早為應用程式加入版面配置是好主意,因為把新的 Shiny UI 元件放進既有的版面配置,比之後重排一個較大且未結構化的應用程式容易得多。
如同多數 Shiny 與其他互動式應用程式的慣例,輸入元件會放在較小的側邊欄,而主要輸出(文字雲)會放在較大的主面板。
本練習屬於課程
案例研究:使用 R 的 Shiny 建置網頁應用程式
練習說明
你下一個任務是為目前的 Shiny 應用程式加入側邊欄版面配置。除了版面結構外,不需要新增其他 UI 元件。具體來說:
- 在 UI 中加入側邊欄版面配置。
- 在側邊欄版面配置內,定義一個側邊欄面板來放置 2 個輸入元件。
- 同樣在側邊欄版面配置內,定義一個主面板,包含文字雲輸出(第 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)