我使用observe从模拟创建png文件,然后使用renderUI作为滑块动画显示png文件。现在这样做了各种样本大小,png文件名包括样本大小 - 例如RplotSS2step1.png ... RplotSS2step20.png,样本大小为2.所有工作正常,第一次选择样本大小但稍后重新选择相同的样本大小时,会创建新的png文件(不同的模拟)但是旧的png文件(图像目录中不再存在)只是重新显示。
有没有办法让renderUI到" reimage"重复使用相同的文件名时。如果我在文件名中添加一个随机标签以使它们始终具有唯一性,我将不得不自动删除它们,这似乎有风险。
Nimgurl <- reactive({
i=input$Nmyslider
samplesize=input$num
return(paste0("./images/RplotSS",samplesize,"step",i,".png"))
})
output$Nui <- renderUI({
tags$div(
tags$img(src = Nimgurl())
)
})
答案 0 :(得分:0)
我不知道这是否是最佳解决方案。我用renderImage
和使用dinamic替代文字解决了。
output$image<- renderImage({
# Return a list containing the filename
list(src = Nimgurl(),
contentType = 'image/png',
alt = ndg())
}, deleteFile = T)
其中ndg()
必须是反应性输入(如您所说,它可能是随机数)。
然后在ui.r中你可以使用:
div(imageOutput("roi"))