Verwenden Sie bsModal im shinyBS-Paket mit plotly R plotly_click, um in pop up @ ein neues Diagramm zu erstelle
Hier ist mein Code für eine grundlegende glänzende App mitplotly_click
event, um optional einen anderen Plot anzuzeigen. Ich möchte, dass das Seitenrahmen-Diagramm in einem modalen Popup-Fenster anstatt auf der Seite innerhalb der Seite dargestellt wird.
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)
Ich konnte dieser Frage folgen Shiny: Plotten der Ergebnisse im Popup-Fenster) und Antwort, und versuchte, es mit dem @ zu verwendtrigger
vonplotly_click
ohne Erfolg. Haben Sie eine Idee, wie Sie dasselbe mit einem planmäßigen Hover-Klick-Ereignis erreichen können?
UPDATE: Ich kann deutlich sehen, dass einplotly
Plot kann in einem @ gerendert werdshinyBS
modales Popup-Fenster, wie in diesem Code gezeigt.
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)
nstelle einesactionButton
als auslöser will ich dasplotly_click
oderplotly_hover
wie dort auslösen (im ursprünglichen Beispiel).