将图表下载为PNG文档

时间:2018-05-23 07:04:46

标签: r plot download shiny

我对Shiny Apps相当新,我希望将这些图作为png / pdf文件下载。在线发布应用程序后,下载的文件名是正确的,但它是一个空文件。我在downloadHandler的内容中应用了print函数,但它似乎没有用。谁能帮我吗?感谢

ui.r

library(shiny)

ui <- fluidPage(

  titlePanel("My First Shiny Project"),

    sidebarLayout(

      sidebarPanel(

       selectInput("select","Choose a Dataset",
              choices = list("trees","pressure"),
              selected = "pressure"),

       selectInput("format","Choose file format",
              choices = list("pdf","png"))

      ),

      mainPanel(

       plotOutput("graph")

      )

     ),

    downloadButton("download","Download Here")

)

server.r

library(shiny)

server <- function(input,output){

   data <- function()({
        switch(input$select,
        "trees" = trees,
        "pressure" = pressure)

    })

   output$graph <- renderPlot(
        plot(data())
    )

   output$download <- downloadHandler(

        filename = function(){

          paste("data",input$select,input$format,sep = ".")

        },

        content = function(file){
          if(input$format == "png")
            png(file)
          if(input$format == "pdf")
            pdf(file)
          print(plot(data()))
          dev.off

  }

)

}

0 个答案:

没有答案