Проблема: Следующий код создает график с гистограммой. Если вы нажмете на панели данных будут отображаться. Если меня больше не интересует базовая таблица, я хочу щелкнуть где-нибудь (то есть не столбец) на графике, и таблица «исчезнет».
Есть идеи, как это сделать? Я уже пытался добавить условие is.null
if, которое не работает из-за req()
(и req()
необходимо). Большое спасибо!
library(shiny)
library(plotly)
library(DT)
ui <- fluidPage(
plotlyOutput("plot"),
dataTableOutput("table")
)
server <- function(input, output) {
output$plot <- renderPlotly({
mtcars %>%
group_by(cyl) %>%
summarise(m = mean(mpg)) %>%
plot_ly(., x = ~cyl,
y = ~m, source = "test_plot") %>%
add_bars()
})
observe({
p <- event_data("plotly_click", source = "test_plot")
req(p)
output$table <- renderDataTable({
if (is.null(p)){
return(NULL)
}
mtcars
})
})
}
# Run the application
shinyApp(ui = ui, server = server)