【发布时间】:2022-01-16 02:30:07
【问题描述】:
我想知道是否有一个简短的解决方案(带有包?)可以在闪亮的非 ggplots 中添加一个下载按钮,因为我的应用程序产生了许多图。 谢谢。
【问题讨论】:
我想知道是否有一个简短的解决方案(带有包?)可以在闪亮的非 ggplots 中添加一个下载按钮,因为我的应用程序产生了许多图。 谢谢。
【问题讨论】:
一种可能的解决方法是创建一个函数来制作一个或多个绘图并在 downloadHandler 中调用它。
应用程序
library(shiny)
mk_plot <- function(file, plots = NULL) {
jpeg(file) # open
par(mfrow=c(2,2))
plot(rnorm(30))
plot(rnorm(30))
# plot code
dev.off() # close
}
shinyApp(ui, server)
ui <- fluidPage(
downloadLink("downloadData", "Download")
)
server <- function(input, output) {
data <- mtcars
output$downloadData <- downloadHandler(
filename = function() {
paste("data-", Sys.Date(), ".jpeg", sep = "")
},
content = function(file) {
mk_plot(file)
}
)
}
shinyApp(ui, server)
【讨论】:
shinyscreenshot 是一个很棒的截图闪亮应用程序包。您可以创建仅包含特定元素(如绘图)的整个页面的图像。 screenshotButton() 函数将创建一个按钮来保存您应用中的任何元素。
【讨论】: