stackoverflow.com/questions/54822671/...

у отобразить некоторую информацию, когда пользователь нажимает на легенду графического графика. Например, в приведенном ниже коде, если пользователь нажимает на имя «drat» в легенде, чтобы отобразить эти данные, я хотел бы напечатать текст с надписью «drat и qsec selected».

Я видел этот пост stackoverflow:R блестящая и сюжетно получающая легенда события клика но это работает с метками. В моем случае метки не являются доступным параметром. Я протестировал различные сюжетные события, но ни одна из них не возвращает никакой информации, когда я нажимаю на легенду (см. Код ниже).

Есть ли способ получить эту информацию?

Спасибо

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)

Ответы на вопрос(1)

Ваш ответ на вопрос