这是一个可复制的示例。我试图了解在有光泽的情况下使用conditionalpanel函数。
如何以某种方式调整代码,以便当我同时选中两个复选框时,图和图像将一起呈现? (在主面板上,图位于顶部,图像位于底部)
library(shiny)
ui = fluidPage(
titlePanel("Plot or Example?"),
sidebarLayout(
sidebarPanel(
checkboxGroupInput("my_choices", "Example or Plot",choices = c("Plot", "Example"), selected = 1),width=2),
mainPanel(
conditionalPanel(
condition = "input.my_choices == 'Plot'",
plotOutput('my_test1')
),
conditionalPanel(
condition = "input.my_choices == 'Example'",
uiOutput("my_test2")
)
)
)
)
server = function(input, output) {
output$my_test1 <- renderPlot({plot(runif(100))})
output$my_test2 <- renderUI({
images <- c("http://www.i2symbol.com/images/abc-123/o/white_smiling_face_u263A_icon_256x256.png")
tags$img(src= images)
})
}
答案 0 :(得分:1)
有几件事要做。
首先,您的selected
的{{1}}参数应与以下选项之一匹配。在这里,我将其更改为checkboxGroupInput
。
第二,同时选择"Plot"
作为条件。
第三,Shiny不允许多次使用同一输出。为了解决这个问题,我在"input.my_choices.includes('Example') && input.my_choices.includes('Plot')"
代码中复制了输出,并在条件面板中引用了两个名称都被选中的重复名称。
server