После долгих попыток я выяснил, что данные о диапазоне ящиков не хранятся в event_data для «selected», но они доступны как для «чистки», так и для «чистки».
Вот мое решение для получения диапазона созданного поля:
library(shiny)
library(plotly)
ui <- fluidPage(
plotlyOutput('myPlot'),
)
server <- function(input, output, session){
output$myPlot = renderPlotly({
plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length, color = ~Species,
type = 'scatter') %>%
layout(dragmode = "select") %>%
event_register(event = "plotly_brushed")
})
# Drag based selection in plotly graph
selected_range <- reactiveVal({})
observeEvent(event_data("plotly_brushed"), {
# storing the values in a reactive value for later use
selected_range(event_data("plotly_brushed"))
# alternative method if you want to use it within the same observer/reactive expression
#xmin <- event_data("plotly_brushed")$x[1]
#xmax <- event_data("plotly_brushed")$x[2]
#ymin <- event_data("plotly_brushed")$y[1]
#ymax <- event_data("plotly_brushed")$y[2]
})
}
shinyApp(ui, server)