event al hacer clic en un nombre en la leyenda del gráfico de una trama en R Shiny

Quiero mostrar información cuando el usuario hace clic en la leyenda de un gráfico gráfico. Por ejemplo, en el siguiente código, si el usuario hace clic en el nombre "drat" en la leyenda para mostrar estos datos, me gustaría imprimir un texto que diga "drat y qsec están seleccionados".

He visto esta publicación de stackoverflow:R brillante y conspirando consiguiendo eventos de clic de leyen pero funciona con etiquetas. En mi caso, las etiquetas no son un parámetro disponible. He probado los diferentes eventos de trama, pero ninguno devuelve ninguna información cuando hago clic en la leyenda (ver el código a continuación

¿Hay alguna forma de tener esta información?

Gracia

library(plotly)
library(shiny)

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

)

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

  output$plot <- renderPlotly({
    p <- plot_ly()
    for(name in c("drat", "wt", "qsec"))
    {
      p = add_markers(p, x = as.numeric(mtcars$cyl), y = as.numeric(mtcars[[name]]), name = name)
    }

    p
  })

  output$hover <- renderPrint({
    d <- event_data("plotly_hover")
    if (is.null(d)) "Hover events appear here (unhover to clear)" else d
  })

  output$click <- renderPrint({
    d <- event_data("plotly_click")
    if (is.null(d)) "Click events appear here (double-click to clear)" else d
  })

  output$brush <- renderPrint({
    d <- event_data("plotly_selected")
    if (is.null(d)) "Click and drag events (i.e., select/lasso) appear here (double-click to clear)" else d
  })

  output$zoom <- renderPrint({
    d <- event_data("plotly_relayout")
    if (is.null(d)) "Relayout (i.e., zoom) events appear here" else d
  })

}

shinyApp(ui, server)

Respuestas a la pregunta(1)

Su respuesta a la pregunta