示例代码如下:
library(shiny) library(ggplot2)
ui <- fluidPage( titlePanel("Button to ggsave graphics to a file"), sidebarLayout( sidebarPanel( actionButton("save_btn", "Save Plot") ), mainPanel( plotOutput("plot") ) ) )
server <- function(input, output) { output$plot <- renderPlot({ ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point() })
observeEvent(input$save_btn, { ggsave("iris_plot.png", plot = last_plot()) }) }
shinyApp(ui, server)
运行代码后,可以看到一个带有“Save Plot”按钮的应用程序和一个绘图窗口。在绘图窗口中绘制了一个散点图,用户点击“Save Plot”按钮即可保存绘图结果到名为“iris_plot.png”的png格式文件中。