Я бы хотел отключить выбор легенды сюжета со стороны сервера, используя R Plotly. здесь мы видим, что этого можно добиться на графике javascript, используя следующее,
gd.on('plotly_legendclick',function() { return false; })
Есть ли способ достичь этого в R, используя event_register()
или event_data()
?
Я нашел хакерское решение, использующее CSS для отключения легенды. Однако, если у вас есть несколько разных графиков для одного и того же output$gg
, код CSS отключает легенду для всех графиков.
Reprex:
Конечная цель, нажав на легенду ниже, не должна скрывать ни одного из пунктов.
library(shiny)
library(plotly)
library(tidyverse)
ui <- fluidPage(
plotlyOutput("gg"),
verbatimTextOutput("click"),
verbatimTextOutput("doubleclick")
)
server <- function(input, output, session) {
output$gg <- renderPlotly({
p <- ggplot(mtcars, aes(wt, mpg, color = factor(cyl))) +
geom_point() +
facet_wrap(~vs)
ggplotly(p) %>%
event_register("plotly_legendclick") %>%
event_register("plotly_legenddoubleclick")
})
output$click <- renderPrint({
event_data("plotly_legendclick")
})
output$doubleclick <- renderPrint({
event_data("plotly_legenddoubleclick")
})
}
shinyApp(ui,server)