Shiny 单击“事件未触发”按钮,该按钮位于图形中的绘图子地块内

Shiny 单击“事件未触发”按钮,该按钮位于图形中的绘图子地块内,shiny,plotly,r,subplot,r-plotly,mouseclick-event,Shiny,Plotly,R,Subplot,R Plotly,Mouseclick Event,我正在创建一个包含两个不同选项卡的应用程序。他们每个人都有几个情节。我希望绘图仅对“对应”选项卡中的plotly_click事件作出反应。我的问题是,我不希望有单独的情节,而是希望其中一个是子情节的一部分 为此,我将源参数添加到绘图中,以区分哪个绘图是已单击的绘图。当这些图是单独的图(不在子图中)时,效果很好,但如果我尝试将其中一个图放在复合子图中,似乎不会触发更多与该图相关的事件 工作代码如下所示: uiPlotly确实支持源代码和子批次;您只需为该子地块内的所有绘图指定相同的源ID。一种可行

我正在创建一个包含两个不同选项卡的应用程序。他们每个人都有几个情节。我希望绘图仅对“对应”选项卡中的plotly_click事件作出反应。我的问题是,我不希望有单独的情节,而是希望其中一个是子情节的一部分

为此,我将源参数添加到绘图中,以区分哪个绘图是已单击的绘图。当这些图是单独的图(不在子图中)时,效果很好,但如果我尝试将其中一个图放在复合子图中,似乎不会触发更多与该图相关的事件

工作代码如下所示:


uiPlotly确实支持
源代码
子批次
;您只需为该子地块内的所有绘图指定相同的源ID。一种可行的方法是:

output$tab1plot1 <- renderPlotly({
    p1 <- plot_ly(x = dates, y = y, ...)
    p2 <- plot_ly( ... )
    s <- subplot(p1, p2, nrows = 2, shareX = TRUE)
    s$x$source <- "tab1plot1"
    s
})

output$tab1plot1我对您的问题(关于支持)没有正确的答案,但我遇到了与您相同的问题。我的解决方案是注册所有绘图中的事件(在您的案例中是
p1
p2
),并定义两个变量来获取事件。。。但是,第二个绘图的变量是获取所有事件,包括第一个绘图。顺便说一句,如果您的应用程序中有多个选项卡,您可能有兴趣使用