R/ggbrush.R

Defines functions ggbrush

# library(shiny)
# library(miniUI)
# library(ggplot2)
# https://shiny.rstudio.com/articles/gadgets.html

ggbrush <- function(data = mtcars, xvar = "mpg", yvar = "disp") {

  ui <- miniPage(
    gadgetTitleBar("Drag to select points"),
    miniContentPanel(
      # The brush="brush" argument means we can listen for
      # brush events on the plot using input$brush.
      plotOutput("plot", height = "100%", brush = "brush")
    )
  )

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

    # Render the plot
    output$plot <- renderPlot({
      # Plot the data with x/y vars indicated by the caller.
      ggplot(data, aes_string(xvar, yvar)) + geom_point()
    })

    # Handle the Done button being pressed.
    observeEvent(input$done, {
      # Return the brushed points. See ?shiny::brushedPoints.
      stopApp(brushedPoints(data, input$brush))
    })
  }

 # runGadget(ui, server)

  runGadget(ui, server, viewer = browserViewer())
}
deliaspanigo/Pack001 documentation built on Feb. 6, 2022, 9:42 p.m.