downloadablePlot: Server-side logic for plot with download data button

View source: R/downloadablePlot.R

downloadablePlotR Documentation

Server-side logic for plot with download data button

Description

Download button appears on hover in top right.

Usage

downloadablePlot(input, output, session, plot, filename, content, ...)

Arguments

input, output, session

standard shiny boilerplate.

plot

A ggplot2 object or a function or reactive that generates a plot.

filename

A string of the filename, including extension, that the user's web browser should default to when downloading the file; or a function that returns such a string. (Reactive values and functions may be used from this function.)

content

A function that takes a single argument file that is a file path (string) of a nonexistent temp file, and writes the content to that file path. (Reactive values and functions may be used from this function.)

...

additional named arguments passed to renderPlot.

Value

No return value, called to generate server logic.

See Also

downloadablePlotUI, renderPlot.

Examples

library(shiny)
library(shinyjs)
library(shinydlplot)
library(ggplot2)

ui <- fluidPage(
  useShinyjs(),
  downloadablePlotUI(id = 'iris_plot')
)

server <- function(input, output, session) {

  plot <- ggplot(iris, aes(x = Sepal.Length, y = Petal.Length)) + geom_point()

  callModule(downloadablePlot,
             id = 'iris_plot',
             plot = plot,
             filename = 'iris.csv',
             content = function(file) {write.csv(iris, file)})
}

## Not run: shinyApp(ui, server)



shinydlplot documentation built on Nov. 19, 2022, 1:06 a.m.