如何动态读取图像文件闪亮R.

时间:2014-06-01 20:43:45

标签: html r shiny

我根据用户提供的输入下载了png图像,然后用

显示图像
mainPanel(
    img(src="file.png", height =1187 , width = 748)
)

但是,如果用户更改了输入,我必须刷新页面。

应用程序草案如下所示

ui

library(shiny)
org <- read.delim("http://rest.kegg.jp/list/organism", header=FALSE) 
org <- apply(org[,2:3], 1, function(x)  paste(as.matrix(x), collapse="-"))

# Define UI for dataset viewer application
shinyUI(fluidPage(

  # Application title
  titlePanel("Reactivity"),

  # Sidebar with controls to provide a caption, select a dataset, and 
  # specify the number of observations to view. Note that changes made
  # to the caption in the textInput control are updated in the output
  # area immediately as you type
  sidebarLayout(
    sidebarPanel(
      textInput("caption", "Caption:", "Data Summary"),
 tags$textarea(id="foo", rows=3, cols=40, "Default value"), 
      selectInput("dataset", "Choose an organism:", 
              choices = org ),

      numericInput("obs", "Number of observations to view:", 10)
        ),


    # Show the caption, a summary of the dataset and an HTML table with
    # the requested number of observations
    mainPanel(
      h3(textOutput("caption")), 

      verbatimTextOutput("summary"), 

          tableOutput("view"),
    plotOutput('plot1'),
   img(src="file.png", height =1187 , width = 748)

    )
  )
))

和服务器

library(shiny)

    # Define server logic required to summarize and view the selected dataset
    shinyServer(function(input, output) {

       output$caption <- renderText({
        cps <- strsplit(input$foo, "\\s+")[[1]]

        #tab <- read.table("http://rest.kegg.jp/link/pathway/zma")
        #path2cpd <- read.table("http://rest.kegg.jp/link/pathway/compound")  
        #allmetab <- unique(path2cpd[which(path2cpd[,2] %in% sub("path:zma", "path:map", tab[,2])),]) 
        #cps <- unique(allmetab[,1])
        #
        url <- "http://www.kegg.jp/kegg-bin/show_pathway?zma00944+default%3dred+"
        url <- paste(url, paste(cps, collapse="+"), sep="+")

        download.file(url, "form.html")
        lines <- readLines("form.html")
        imgUrl <- lines[grep('img src="/', lines)]
        url <- paste0("http://www.kegg.jp/", strsplit(imgUrl, '"')[[1]][2])
        download.file(url, "www/file.png")
        url

      })

      # The output$summary depends on the datasetInput reactive expression, 
      # so will be re-executed whenever datasetInput is invalidated
      # (i.e. whenever the input$dataset changes)

     output$plot1 <- renderPlot({
      })


    })

如果您粘贴复合代码

C01477
C04608
C04858
C05622
带有&#34;默认值&#34的框中的

;写道我想自动更新图片,或者至少有一个按钮来更新而无需重新加载所有应用程序。

如果重新加载导航器,可以看到带有红色点的图形(位于页面底部)。

如何在一段时间后让该功能再次读取图像?

0 个答案:

没有答案