Skip to content

Bug: clicking on a point triggers both the "plotly_click" and the "plotly_selected" events #1121

Closed
@daattali

Description

@daattali

When a plotly plot listens for both click and selected events, I expect the click event to trigger every time a point is clicked, and the selected event to trigger every time a box/lasso selection is made.

It seems like whenever a click happens, unless the previous action was also a click, the selected event also gets triggered (with empty data, so essentially it clears the selection).

Here's a GIF of this issue

Here's my code:

library(shiny)
library(plotly)

ui <- fluidPage(
  plotlyOutput("plot"),
  verbatimTextOutput("click"),
  verbatimTextOutput("brush")
)

server <- function(input, output, session) {
  
  nms <- row.names(mtcars)
  
  output$plot <- renderPlotly({
    p <- ggplot(mtcars, aes(x = mpg, y = wt, key = nms)) + geom_point()
    ggplotly(p) %>% layout(dragmode = "lasso")
  })
  
  output$click <- renderPrint({
    message('clicked')
    d <- event_data("plotly_click")
    if (!is.null(d)) d
  })
  
  output$brush <- renderPrint({
    message('selected')
    d <- event_data("plotly_selected")
    if (!is.null(d)) d
  })
  
}

shinyApp(ui, server)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions