Я хочу отобразить некоторую информацию, когда пользователь нажимает на легенду графического графика.Например, в приведенном ниже коде, если пользователь нажимает на имя «drat» в легенде, чтобы отобразить эти данные, я хотел бы напечатать текст с надписью «drat и qsec selected».
Я виделсообщение этого стекового потока: 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)