我想根据用户在checkboxGroupInput中选择的输入来绘制我的图形。 例如在ui.R中,我将选择Item1或Item2。当选择Item1时,将出现2个conditionalPanel,然后我将选择我需要的相应选项并绘制它。
目前问题是我将所有情节都放在一个情节中,而不是绘制额外的情节。 当我选中variable4或variable5中的复选框时,会有一些额外的图而不是“叠加/叠加”效果,我也想改变它。
对不起,如果问题不是很明显或令人困惑,请随时与我澄清。
ui.R
library("shiny")
shinyUI(navbarPage(title="Title",collapsible=TRUE, inverse=TRUE,
tabPanel("Subtitle1",
sidebarLayout(
sidebarPanel(
checkboxGroupInput("variable1","Items:",
c("Item1","Item2"))),
mainPanel(
plotOutput("plot1")
)
)
),
tabPanel("Subtitle 2",
sidebarLayout(
sidebarPanel(
radioButtons(
inputId="Item",
label="Food Selection:",
choices=list("Item1","Item2"),
selected='Item1'),
#only show this when Item 1 is selected
#user choose either 1 or 2 to display to display
conditionalPanel(
condition="input.Item == 'Item1' ",
radioButtons(
"variable2",
"Select Either:",
choices=c("Quantity"="MyQuantity1",
"Values"="MyValues1"),
selected= "Quantity")
),
#only show this when Item 2 is selected
conditionalPanel(
condition="input.Item == 'Item2' ",
radioButtons(
"variable3",
"Select Either:",
choices=c("Quantity"="MyQuantity2",
"Values"="MyValues2"),
selected= "Quantity)")
),
#only show this when Item 1 is selected
conditionalPanel(
condition="input.Item == 'Item1'",
checkboxGroupInput(
"variable4",
"Countries:",
choices=names(data.frame(MyQuantity1)),
selected= "World.")
),
#only show this panel when Item 2 is selected
conditionalPanel(
condition="input.Item == 'Item2'",
checkboxGroupInput(
"variable5",
"Countries:",
choices=names(data.frame(MyQuantity2)),
selected= "World.")
)
),
mainPanel(
plotOutput("plot2")
)
)
)))
server.R
library("shiny")
setwd("C:/Users/admin/Desktop/Food_Security/R/UI & Server")
source("global.R")
shinyServer
(
function(input,output){
output$plot1 <- renderPlot({
x1<-get(input$variable1)
plot(x1)
#x<-input$variable1
#plot.ts(x)
})
observe({
if (input$Item=="Item1"){
output$plot2 <- renderPlot({
x2<-get(input$variable2)
plot(x2[,input$variable4])
})
}
if (input$Item=="Item2"){
output$plot2 <- renderPlot({
x3<-get(input$variable3)
plot(x3[,input$variable5])
})
}
})
}
)