Событие щелчка мышью с таблицей должно исчезнуть снова при нажатии где-нибудь на графике - PullRequest
0 голосов
/ 20 апреля 2020

Проблема: Следующий код создает график с гистограммой. Если вы нажмете на панели данных будут отображаться. Если меня больше не интересует базовая таблица, я хочу щелкнуть где-нибудь (то есть не столбец) на графике, и таблица «исчезнет».

Есть идеи, как это сделать? Я уже пытался добавить условие 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)
...