## Not run:
#
# shinyServer(function(input, output, clientData) {
#
# # A plot of fixed size
# output$plot1 <- renderImage({
# # A temp file to save the output. It will be deleted after renderImage
# # sends it, because deleteFile=TRUE.
# outfile <- tempfile(fileext='.png')
#
# # Generate a png
# png(outfile, width=400, height=400)
# hist(rnorm(input$n))
# dev.off()
#
# # Return a list
# list(src = outfile,
# alt = "This is alternate text")
# }, deleteFile = TRUE)
#
# # A dynamically-sized plot
# output$plot2 <- renderImage({
# # Read plot2's width and height. These are reactive values, so this
# # expression will re-run whenever these values change.
# width <- clientData$output_plot2_width
# height <- clientData$output_plot2_height
#
# # A temp file to save the output.
# outfile <- tempfile(fileext='.png')
#
# png(outfile, width=width, height=height)
# hist(rnorm(input$obs))
# dev.off()
#
# # Return a list containing the filename
# list(src = outfile,
# width = width,
# height = height,
# alt = "This is alternate text")
# }, deleteFile = TRUE)
#
# # Send a pre-rendered image, and don't delete the image after sending it
# output$plot3 <- renderImage({
# # When input$n is 1, filename is ./images/image1.jpeg
# filename <- normalizePath(file.path('./images',
# paste('image', input$n, '.jpeg', sep='')))
#
# # Return a list containing the filename
# list(src = filename)
# }, deleteFile = FALSE)
# })
#
# ## End(Not run)
Run the code above in your browser using DataLab