2016-03-15 2 views
1

У меня есть предварительно записанное изображение в папке с изображениями папки Shiny app. Я пытаюсь получить приложение для рендеринга изображения EXG.jpeg, но появляется только текст alt. Что случилось?R Shiny - Не удается отобразить предварительное изображение

\ Server File

setwd('C:/Users/E0265074/Documents/PrelimShiny/') 

    function(input, output) {output$Option1 = renderUI({ 

    if (input$study == 'EX') { 

    selectInput('differ', label='Patient ID', choices = c('013412-826-001-002','013412-840-001-001','013412-840-001-002','013412-840-001-003','013412-840-001-004')) 

    } 

}) 

output$plot <- renderImage({ 
     return(list(
     src = "./images/EXG.jpeg", 
     contentType = "image/jpeg", 
     alt = "Face" 
    )) 
    }) 

}) 

\ UI Файл

library(shiny) 


shinyUI(fluidPage(

    titlePanel('Biomarker Comparison'), 

    sidebarLayout(sidebarPanel(

    tabsetPanel(type = c('tabs'), 

       tabPanel('Plot 1 Options', selectInput('study', label = 'Study Type', choices = c('EX')), 
         uiOutput('Option1'), 
         uiOutput('Option2'), 
         uiOutput('Option3') 

       ), 

       tabPanel('Plot 2 Options', selectInput('studya', label = 'Study Type', choices = c('EX')), 
         uiOutput('Option1a'), 
         uiOutput('Option2a'), 
         uiOutput('Option3a') 
       ) 

    ), 

), 


    mainPanel(imageOutput('img1') 
) 




) 

)) 
+0

Любые особые причины, по которым вы отметили это для 'shiny-server'? –

ответ

2

Вы не используете правильный imageOutput этикетку. img1 ошибочно, вам нужно было plot, потому что так называется запись списка output. Так это работает:

library(shiny) 

u <- shinyUI(fluidPage(
    titlePanel('Biomarker Comparison'), 
    sidebarLayout(sidebarPanel(
    tabsetPanel(type = c('tabs'), 

       tabPanel('Plot 1 Options', selectInput('study', label = 'Study Type', 
                    choices = c('EX')), 
         uiOutput('Option1'), 
         uiOutput('Option2'), 
         uiOutput('Option3') 
       ), 
       tabPanel('Plot 2 Options', selectInput('studya', label = 'Study Type', 
                   choices = c('EX')), 
         uiOutput('Option1a'), 
         uiOutput('Option2a'), 
         uiOutput('Option3a') 
       ) 
    ) 
), 
    mainPanel(imageOutput('plot') 
) 
) 
)) 
s <- function(input, output) { 

    output$Option1 = renderUI({ 
    if (input$study == 'EX') { 

     selectInput('differ', label='Patient ID', 
        choices = c('013412-826-001-002','013412-840-001-001', 
           '013412-840-001-002', 
           '013412-840-001-003','013412-840-001-004')) 
    } 
    }) 
    output$plot <- renderImage({ 
    return(list(
     src = "./images/EXG.jpeg", 
     contentType = "image/jpeg", 
     alt = "Face" 
    )) 
    }, deleteFile = FALSE) 
} 
shinyApp(ui = u, server = s) 

Уступая: enter image description here

Update:

Я добавил deleteFile=FALSE в конце, чтобы держать renderImage удалять его каждый раз, когда он бежал. Не уверен, почему он хочет сделать это по умолчанию.

+0

Любая обратная связь с OP? –

Смежные вопросы