Ich versuche, meine erste Shiny App zu erstellen und ich versuche grundsätzlich, die App zwei einfache Histogramme zu zeichnen, aber mit einem Input Button kann der Benutzer wählen, ob er die beiden Histogramme nebeneinander sehen will (Horizontal) oder untereinander (vertikal).Wie kann ich das Layout reaktiv über den Eingabeknopf in Shiny App ändern?
Ich habe versucht, den Code weiter unten als Versuch zu schreiben, meinen Gedankenprozess zu erklären, als tatsächlich zu hoffen, dass es funktionieren würde.
Jede Hilfe wird geschätzt, danke!
library(shiny)
ui <- fluidPage(
radioButtons('layout', 'Layout:', choices=c('Vertically', 'Horizontally'), inline=TRUE),
sliderInput(inputId = "num",
label = "Choose a number",
value = 25, min = 1, max = 100),
plotOutput("hist1"),
plotOutput("hist2"))
server <- function(input,output) {
if (input$layout == "Horizontally") {
output$hist1<-fluidRow(
column(3,plotOutput(hist(rnorm(input$num)))))
output$hist2<-column(3,plotOutput(hist(rnorm(input$num))))
}
else if (input$layout == "Vertically") {
output$hist1<-fluidRow(
column(3,plotOutput(hist(rnorm(input$num)))))
output$hist2<-fluidRow(
column(3,plotOutput(hist(rnorm(input$num)))))
}
}
shinyApp(ui=ui, server=server)
Großartig, danke! Betrachtet man die Dinge immer nebeneinander, würde es eine Möglichkeit geben, stattdessen über die Eingabetaste zu wählen, wenn ich nur 1 Histogramm oder beides anzeigen möchte? – lc23
Ja, ändern Sie einfach den Inhalt der renderUI, um sie an Ihre Bedürfnisse anzupassen – HubertL