【问题标题】:i can't print the image on R studio with shinny我无法用 shinny 在 R studio 上打印图像
【发布时间】:2015-12-09 05:16:52
【问题描述】:

我正在尝试使用 shinny 打印图像,但由于文件无效,它无法正常工作。任何人请帮忙。

输出:

str(filename) 中的错误:评估参数“object”时出错 在为函数“str”选择方法时:错误:对象“文件名”不是 找到了

这是代码

installed.packages("shiny")
library(shiny)

shinyUI(fluidPage(

titlePanel(title="Omega Engineering and Design"),
sidebarLayout(position="left",
  sidebarPanel(
    selectInput("drawing","choose the section: ",choices=c("wall cross section","wall cross section 2"),selected = NULL)
   ),

     mainPanel(("Project Avalon"),
            imageOutput("drawing")  ))))
library(png)
library(shiny)


shinyServer(
  function(input,output,session){

 output$drawing=renderImage({

   filename=normalizePath(file.path('./images',paste('wall',input$drawing,'.png',sep='')))

   if(is.null(input$drawing))
     return(NULL)

   if(input$drawing=="wall cross section")
     return(
       list(
         scr= ("C:/Users/Darren Chu/Documents/images/images/wall1.png"),
     fileType="image/png",
         alt=paste("Wall Cross section", input$drawing)

       ))

   else if(input$drawing=="wall cross section 2")
     return(list(
       scr= ("C:/Users/Darren Chu/Documents/images/images/wall2.png"),
 fileType="image/png",
       alt=paste("Wall Cross section", input$drawing)

     ))  
 },deleteFile = F)})

【问题讨论】:

    标签: shiny rstudio


    【解决方案1】:

    您在拨打list() 时有错字

    list(
      scr= ("C:/Users/Darren Chu/Documents/images/images/wall1.png"),
      fileType="image/png",
      alt=paste("Wall Cross section", input$drawing)
      )
    

    应该是src=... 而不是scr=...

    这个核心运行:

    library(shiny)
    
    ui <- fluidPage(
      titlePanel(title="Omega Engineering and Design"),
      sidebarLayout(position="left",
                    sidebarPanel(
                    selectInput("drawing","choose the section: ",choices=c("wall cross section","wall cross section 2"),selected = NULL)
                    ),
                    mainPanel(("Project Avalon"),
                              imageOutput("drawing")  )))
    
    
    server <- function(input,output,session){
      output$drawing=renderImage({
        filename <- normalizePath(file.path('./images',paste('wall',input$drawing,'.png',sep='')))
    
        if(is.null(input$drawing))
          return(NULL)
    
        if(input$drawing=="wall cross section")
          return(
            list(
              src=("Test.png"),
              fileType="image/png",
              alt=paste("Wall Cross section", input$drawing)
    
            ))
    
        else if(input$drawing=="wall cross section 2")
          return(list(
            src= ("Test2.png"),
            fileType="image/png",
            alt=paste("Wall Cross section", input$drawing)
    
          ))  
      },deleteFile = F)}
    
    shinyApp(ui, server)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-05
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多