我有一个应用程序,显示人口模型,下拉菜单选择物种。将渲染该物种模型的图,现在我想要该图旁边的物种图像。 当日期或位置发生变化时,情节会发生变化,但旁边的图像只会对选择的物种输入作出反应。
我为它编写了这段代码:
ui <- fluidPage(
# ... rest of the code
wellPanel(
fluidRow(
column(3, selectInput("populatie", label = h4("Populatie"),
choices = list("PERENBLADVLO" = "PER", "OORWORM" = "OOR", "FLUWEELMIJT" = "FLU"),
selected = "PER"),
imageOutput("img1")), # here is the image
column(9, plotOutput("plot2"))
)
)
)
server <- function(input, output){
# ... rest of the code
output$img1 <- renderImage({
if(input$populatie == "PER"){
img(height = 240, width = 300, src = "PBV.jpg")
}
else if(input$populatie == "OOR"){
img(height = 240, width = 300, src = "OW.jpg")
}
else if(input$populatie == "FLU"){
img(height = 240, width = 300, src = "FM.jpg")
}
})
# ... rest of the code
}
我得到的是一个错误,说“无效的文件名参数”。 虽然没有选择,但我可以自己渲染图像。
思想?
答案 0 :(得分:1)
我知道这是很久以前的事了,但这是其他人稍后看这个的原因:
如果您可以在ui函数中读取图像,则可以使用ImageOutput()
和renderImage()
,因为它们不依赖于用户输入..否则(大多数情况下)如果您& #39;重新阅读服务器功能中的图片,并且您阅读的图片取决于您使用uiOutput()
和renderUI()
希望这是有道理的!
答案 1 :(得分:0)
我仍然不太明白为什么会这样,但我找到了一个解决方案:
当我使用uiOutput()
和renderUI({})
代替imageOutput
和renderImage({})
时,它可以正常工作。
其余的代码仍然是相同的。