開始使用免費開始

加入版面配置

如同你在前面章節所看到的,在 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)
編輯並執行程式碼