Use bsModal in the shinyBS package with plotly R plotly_click to generate new plot in pop up

前端 未结 2 527
走了就别回头了
走了就别回头了 2021-01-01 08:10

Here is my code for a basic shiny app using plotly_click event to optionally show another plot. I would like that side box plot to render in a modal pop up inst

2条回答
  •  太阳男子
    2021-01-01 09:03

    You can use toggleModal, just add this to your server:

    observeEvent(event_data("plotly_click", source = "scatter"), {
     toggleModal(session, "boxPopUp", toggle = "toggle")
    })
    

    and put the box Plot in an bsModal (Title and trigger is empty):

    ui <- fluidPage(
      column(6, plotlyOutput('scatter')),
      bsModal('boxPopUp', '', '', plotlyOutput('box'))
    )
    

    UPDATE: with shiny-build-in Modal functionality (since Shiny 0.14), only the server addition is needed:

     observeEvent(event_data("plotly_click", source = "scatter"), {
                    showModal(modalDialog(
                            renderPlotly({
                                    plot_ly(df2, x = ~x, y = ~y, type = 'box')
                            })
                    ))
            })
    

提交回复
热议问题