这是我的基本闪亮应用程序的代码,它使用plotly_click
事件来选择性地显示另一个情节。我希望该侧箱图在模式弹出窗口中呈现,而不是在页面内的一侧。
library(shiny)
library(plotly)
df1 <- data.frame(x = 1:10, y = 1:10)
df2 <- data.frame(x = c(rep('a', 10), rep('b', 10)),
y = c(rnorm(10), rnorm(10, 3, 1)))
ui <- fluidPage(
column(6, plotlyOutput('scatter')),
column(6, plotlyOutput('box'))
)
server <- function(input, output) {
output$scatter <- renderPlotly({
plot_ly(df1, x = x, y = y, mode = 'markers', source = 'scatter')
})
output$box <- renderPlotly({
eventdata <- event_data('plotly_click', source = 'scatter')
validate(need(!is.null(eventdata),
'Hover over the scatter plot to populate this boxplot'))
plot_ly(df2, x = x, y = y, type = 'box')
})
}
shinyApp(ui = ui, server = server)
我能够关注这个问题(Shiny: plot results in popup window)和响应,并尝试将它与trigger
of一起使用但plotly_click
没有成功。知道如何通过巧妙的悬停点击事件来完成同样的事情吗?
更新:我可以清楚地看到可以在模态弹出窗口plotly
中呈现绘图,如此代码所示。shinyBS
df1 <- data.frame(x = 1:10, y = 1:10)
ui <- fluidPage(
actionButton('go', 'Click Go'),
bsModal('plotlyPlot', 'Here is a Plot', 'go', plotlyOutput('scatter1'))
)
server <- function(input, output) {
output$scatter1 <- renderPlotly({
plot_ly(df2, x = x, y = y, mode = 'markers', source = 'scatter1')
})
}
shinyApp(ui = ui, server = server)
而不是actionButton
作为触发器,我想要plotly_click
或plotly_hover
作为触发器(在原始示例中)。