2014-06-20 13 views
7

Utilizzando il codice riportato di seguito, viene visualizzato solo il testo alternativo. Qualche suggerimento su quale potrebbe essere il problema?renderImage NON VISUALIZZANTE - R lucido (solo testo alt)

Da 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) 

Da ui.R:

imageOutput("face") 

Grazie,

Chad

aggiungendo alla spiegazione del problema - io non sono Sto solo provando a visualizzare l'immagine. Piuttosto, sto cercando di rendere più reattiva - e visualizzare un'immagine diversa, sulla base di input ... per il codice server.R di seguito:

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) 

Grazie ancora,

Chad

risposta

4

renderImage prende un file come input src piuttosto che un url. Si può solo includere questa immagine utilizzando direttamente 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

+0

Grazie. Ero un po 'semplicistico nella richiesta, però. Non sto solo cercando di visualizzare l'immagine. Ho bisogno che l'immagine sia reattiva, visualizzando un'immagine diversa in base all'input. Quindi, inserirò più codice nel follow-up: – cnblevins

+0

@cnblevins Ho aggiornato la mia risposta. Devi solo usare 'img $ src' Puoi creare un'immagine dinamica usando' renderUI' e 'uiOutput'. Nel tuo esempio il tasso di rendimento interno attiverà quale immagine mostrare. – jdharrison

+0

Grazie - ha risolto il problema. – cnblevins