【发布时间】:2016-08-17 11:35:46
【问题描述】:
我正在尝试下载我在 Shiny 中制作的图表,我发现了一篇关于此主题的 Stackoverflow 帖子here。但是,当我从答案运行代码时,一切似乎都可以正常工作,除了“保存”后我无法打开图表。我在保存它们的文件夹中看不到它们,当我尝试从最近的文件中打开它们时,会弹出错误“找不到文件”。
这是我正在使用的代码:
library(shiny)
library(ggplot2)
runApp(list(
#ui
ui = fluidPage(downloadButton('downloadPlot')),
#server
server = 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$downloadPlot <- downloadHandler(
filename = function() { paste(input$dataset, '.png', sep='') },
content = function(file) {
ggsave(file, plot = plotInput(), device = "png")
}
)
}
))
【问题讨论】:
-
当我在客户端定义 downloadHandler 中缺少的输入时,它对我来说一切正常:
selectInput("dataset", "Choose a dataset:", choices = c("rock", "pressure", "cars")) -
我在我的 UI 中将
input$dataset更改为input$filename,这是一个textInput,但它仍然不起作用