R Shiny — невозможно отобразить предварительно обработанное изображение

У меня есть предварительно обработанное изображение в папке изображений папки приложения Shiny. Я пытаюсь заставить приложение отображать изображение EXG.jpeg, но отображается только замещающий текст. Что происходит не так?

\Файл сервера

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"
      ))
    })

})

\Файл пользовательского интерфейса

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




  )

))

person Carlos Danger    schedule 15.03.2016    source источник
comment
По какой-то конкретной причине вы пометили это как shiny-server?   -  person Mike Wise    schedule 15.03.2016


Ответы (1)


Вы использовали неправильный ярлык 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) 

Выход: введите здесь описание изображения

Обновлять:

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

person Mike Wise    schedule 15.03.2016
comment
Есть отзывы от ОП? - person Mike Wise; 15.03.2016