renderImage NOT DISPLAYING - R Shiny(仅替换文字)

时间:2014-06-20 17:26:43

标签: r shiny

使用下面的代码,我只会显示替代文字。 关于可能出现什么问题的任何建议?

来自server.R:

output$face <- renderImage({
list(src = "http://www.clipartbest.com/cliparts/yco/GGE/ycoGGEacE.png",
filetype = "image/png",
alt = "YOU MUST BE KIDDING ME!")
}, deleteFile = FALSE)

来自ui.R:

imageOutput("face")

谢谢,

乍得

添加到问题的解释 - 我不只是试图显示图像。相反,我试图让它反应 - 并显示一个不同的图像,基于输入...每服务器.R代码如下:

output$imagegauge <- renderImage({
if (is.null(IRR_calc()))
return(NULL)

if (IRR_calc() > .085) {
return(list(
src = "http://www.i2symbol.com/images/abc-123/o/white_smiling_face_u263A_icon_256x256.png",
contentType = "image/png",
alt = "Smiley Face"
))
} else  {
return(list(
src = "http://www.clipartbest.com/cliparts/yco/GGE/ycoGGEacE.png",
filetype = "image/png",
alt = "Sad Face"
))
}
}, deleteFile = FALSE)

再次感谢,

乍得

1 个答案:

答案 0 :(得分:4)

renderImage将文件作为src输入而不是网址。您可以使用tags$img直接包含此图片:

library(shiny)
runApp(list(
  ui = fluidPage(
    titlePanel("Hello Shiny!"),
    sidebarLayout(
      sidebarPanel(
        numericInput('n', 'Number of obs', 100),
        numericInput('m', 'Select image (Happy (1) or Sad(2))', 1, min = 1, max = 2),
        uiOutput('test')
      ),
      mainPanel(
        plotOutput('plot')
      )
    )
  ),
  server = function(input, output) {
    output$plot <- renderPlot({ hist(runif(input$n)) })
    output$test <- renderUI({
      images <- c("http://www.i2symbol.com/images/abc-123/o/white_smiling_face_u263A_icon_256x256.png"
                  , "http://www.clipartbest.com/cliparts/yco/GGE/ycoGGEacE.png")
      tags$img(src= images[input$m])

    })
  }
))

enter image description here