散布図のマーカーをユーザーがクリックした後に、Plotlyのevent_data("plotly_click")
を使用して(モーダルを開く)処理を行います。その後(例えばモーダルを閉じる)、event_data("plotly_click")
は同じマーカを変更してクリックしないので、同じ動作を再度トリガすることはありません。同じプロットマーカーを2回クリックするとイベントが2回トリガーされない
最小例:
library(plotly)
ui <- fluidPage(
plotlyOutput("plot")
)
server <- function(input, output, session) {
output$plot <- renderPlotly({
mtcars %>% plot_ly(x=~disp, y=~cyl)
})
# Do stuff after clicking on a marker in the plot
observeEvent(event_data("plotly_click"), {
print("do some stuff now") # this is not executed after second click on same marker
})
}
shinyApp(ui, server)
私は(マーカーをクリックしたとき、それはプロットの空の領域で正常に機能しますが、ではない)無駄に、shinyjsのonclick
での回避策を試してみました:
shinyjs::onclick(id="plot", print("clicked"))
私はまた、最後のクリックを保存し、直後にリセットされる(例えばevent_data("plotly_hover")
によって)反応値を使用しようとしましたが、event_data("plotly_click")
が古い値のままであるため、すべての試行が失敗します。
誰でも手助けできますか?
私はこれが知っている問題だと思うhttps://community.plot.ly/t/reseting-click-events/2718 –
ありがとう、しかし、それは彼らのフォーラムで唯一の質問への単なるリンクです。似たようなものです: – shosaco