MulaiMulai sekarang secara gratis

Tambahkan tata letak

Seperti yang telah Anda lihat di bab sebelumnya, menggunakan tata letak dalam aplikasi Shiny penting untuk menata antarmuka dan memudahkan penggunaan.

Saat ini aplikasi hanya memiliki sedikit objek (satu judul, dua input, satu keluaran word cloud) sehingga masih bisa dikelola tanpa tata letak. Namun, aplikasi akan berkembang pada latihan berikutnya dan memiliki tata letak sidebar akan bermanfaat. Sebaiknya tambahkan tata letak ke aplikasi Anda lebih awal, karena menempatkan elemen UI Shiny baru ke dalam tata letak yang sudah ada lebih mudah daripada menata ulang aplikasi yang lebih besar dan tidak terstruktur di kemudian hari.

Seperti yang umum dilakukan pada aplikasi Shiny dan aplikasi interaktif lainnya, input akan ditempatkan di sidebar yang lebih kecil, sementara keluaran utama (word cloud) akan berada di panel utama yang lebih besar.

Latihan ini adalah bagian dari kursus

Studi Kasus: Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Petunjuk latihan

Tugas Anda berikutnya adalah menambahkan tata letak sidebar ke aplikasi Shiny saat ini. Tidak ada elemen UI baru yang perlu ditambahkan selain struktur untuk tata letak. Secara khusus:

  • Tambahkan tata letak sidebar ke UI.
  • Di dalam tata letak sidebar, tetapkan panel sidebar untuk menampung dua input.
  • Juga di dalam tata letak sidebar, tetapkan panel utama yang memuat keluaran word cloud (baris 12).

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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)
Edit dan Jalankan Kode