亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

保存在閃亮的應用程序中繪制的圖

保存在閃亮的應用程序中繪制的圖

慕絲7291255 2019-10-25 10:52:04
我試圖弄清楚如何使用downloadButton保存具有光澤的圖。包中的示例演示了downloadButton / downloadHandler保存.csv的方法。我將基于此舉一個可復制的示例。對于 ui.RshinyUI(pageWithSidebar(  headerPanel('Downloading Data'),  sidebarPanel(selectInput("dataset", "Choose a dataset:",             choices = c("rock", "pressure", "cars")),    downloadButton('downloadData', 'Download Data'),    downloadButton('downloadPlot', 'Download Plot')  ),  mainPanel(    plotOutput('plot')  )))對于 server.Rlibrary(ggplot2)shinyServer(function(input, output) {  datasetInput <- reactive({    switch(input$dataset,           "rock" = rock,           "pressure" = pressure,           "cars" = cars)  })  plotInput <- reactive({    df <- datasetInput()    p <-ggplot(df, aes_string(x=names(df)[1], y=names(df)[2])) +      geom_point()  })  output$plot <- renderPlot({    print(plotInput())  })  output$downloadData <- downloadHandler(    filename = function() { paste(input$dataset, '.csv', sep='') },    content = function(file) {      write.csv(datatasetInput(), file)    }  )  output$downloadPlot <- downloadHandler(    filename = function() { paste(input$dataset, '.png', sep='') },    content = function(file) {      ggsave(file,plotInput())    }  )})如果您正在回答此問題,則可能對此很熟悉,但是要使其正常工作,請將以上內容保存到單獨的腳本中(ui.R以及工作目錄中server.R的文件夾(foo)中)。要運行閃亮的應用程序,請運行runApp("foo")。使用ggsave,我收到一條錯誤消息,指示ggsave無法使用該filename功能(我認為)。如果我使用標準的圖形設備(如下所示),則Download Plot可以正常工作,但不會寫入圖形。任何使downloadHandler可以用于編寫圖表的技巧都將受到贊賞。
查看完整描述

3 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

我沒有設法使其與一起使用ggsave,但是通過標準調用png()它似乎還可以。


我只更改了文件的output$downloadPlot一部分server.R:


 output$downloadPlot <- downloadHandler(

    filename = function() { paste(input$dataset, '.png', sep='') },

    content = function(file) {

      png(file)

      print(plotInput())

      dev.off()

    })

請注意,我在使用0.3版本的Shiny時遇到了一些問題,但是它可以與Github的最新版本一起使用:


library(devtools)

install_github("shiny","rstudio")


查看完整回答
反對 回復 2019-10-25
  • 3 回答
  • 0 關注
  • 593 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號