एक लेआउट जोड़ें
जैसा कि आपने पिछले चैप्टर्स में देखा है, Shiny ऐप में लेआउट का उपयोग इंटरफ़ेस को व्यवस्थित रखने और इस्तेमाल में आसान बनाने के लिए महत्वपूर्ण होता है.
फिलहाल ऐप में बहुत कम ऑब्जेक्ट हैं (एक शीर्षक, दो इनपुट, एक वर्ड क्लाउड आउटपुट), इसलिए बिना लेआउट के भी यह संभाला जा सकता है. लेकिन आगे के अभ्यासों में ऐप बड़ा होगा और साइडबार लेआउट फायदेमंद रहेगा. बेहतर यही है कि लेआउट शुरुआत में ही जोड़ दें, क्योंकि मौजूदा लेआउट में नए Shiny UI एलीमेंट्स रखना बाद में किसी बड़े, बिना-संरचना वाले ऐप को पुनर्व्यवस्थित करने से आसान होता है.
जैसा कि Shiny ऐप्स और अन्य इंटरएक्टिव एप्लिकेशन्स में आम है, इनपुट्स छोटे साइडबार में रखे जाएंगे, जबकि मुख्य आउटपुट (वर्ड क्लाउड) बड़े मेन पैनल में होगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
केस स्टडीज़: R में Shiny के साथ वेब एप्लिकेशन बनाना
अभ्यास निर्देश
आपका अगला कार्य मौजूदा Shiny ऐप में एक साइडबार लेआउट जोड़ना है. लेआउट की संरचना के अलावा कोई नया UI एलीमेंट नहीं जोड़ना है. विशेष रूप से:
- 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)