imageOutput Shiny,仅限一张图片(最后一张)

imageOutput Shiny, limited to one image (the last one)

我正在使用 imageOutput 函数将几张图片放入 Shiny 应用程序,如下所示,但只显示最后一张图片。是因为imageOutput只限一张图吗?

# ui.R
library(shiny)
library(png)
library(DT)

shinyUI(navbarPage(
  title = " Nanoproject",

  # first panel , create table of the peaksTable dataframe 
  tabPanel('Peak Table' , 
           dataTableOutput("table1")),

  # second panel
  tabPanel('Peak Images' , 
           imageOutput("image1",width=100,height=100),
           imageOutput("image2",width=100,height=100),
           imageOutput("image3",width=100,height=100),
           imageOutput("image4",width=100,height=100),
           imageOutput("image5",width=100,height=100),
           imageOutput("image6",width=100,height=100),
           imageOutput("image7",width=100,height=100),
           imageOutput("image8",width=100,height=100),
           imageOutput("image9",width=100,height=100),
           imageOutput("image10",width=100,height=100),
           imageOutput("image11",width=100,height=100)
  ),

  # third panel

  tabPanel('Event Table' , dataTableOutput("table3")),

  # fourth panel
  tabPanel('Event Images')
))

#server.R
# the peak images, 1-12   
output$image1 <- renderImage({list(src=paste0(imagePath,"/peak1.png"))},deleteFile=FALSE)
output$image2 <- renderImage({list(src=paste0(imagePath,"/peak2.png"))},deleteFile=FALSE)
output$image3 <- renderImage({list(src=paste0(imagePath,"/peak3.png"))},deleteFile=FALSE)
output$image4 <- renderImage({list(src=paste0(imagePath,"/peak4.png"))},deleteFile=FALSE)
output$image5 <- renderImage({list(src=paste0(imagePath,"/peak5.png"))},deleteFile=FALSE)
output$image6 <- renderImage({list(src=paste0(imagePath,"/peak6.png"))},deleteFile=FALSE)
output$image7 <- renderImage({list(src=paste0(imagePath,"/peak7.png"))},deleteFile=FALSE)
output$image8 <- renderImage({list(src=paste0(imagePath,"/peak8.png"))},deleteFile=FALSE)
output$image9 <- renderImage({list(src=paste0(imagePath,"/peak9.png"))},deleteFile=FALSE)
output$image10 <- renderImage({list(src=paste0(imagePath,"/peak10.png"))},deleteFile=FALSE)
output$image11 <- renderImage({list(src=paste0(imagePath,"/peak11.png"))},deleteFile=FALSE)

但是,只加载了 最后一张 图片

图像文件的实际大小是多少?

我尝试了以下代码(filename1、filename2、filename3 只是图像文件的一些本地路径名),在图像尺寸较小且不起作用(呈现重叠方式)的情况下它工作正常图像尺寸非常大。看起来只渲染了最后一张图,但实际上其他的都隐藏在下面。

library(shiny)

ui <- fluidPage('Peak Images',
               imageOutput("image1"),
               imageOutput("image2"),
               imageOutput("image3"))

server <- function(input, output) {
  output$image1 <- renderImage({
    list(src = filename1)
  }, deleteFile = FALSE)
  output$image2 <- renderImage({
    list(src = filename2)
  }, deleteFile = FALSE)
  output$image3 <- renderImage({
    list(src = filename3)
  }, deleteFile = FALSE)
}

shinyApp(ui = ui, server = server)

高度和宽度设置为 "auto," 解决了问题。感谢 user3949008 帮助我意识到需要更改高度和宽度。