[英]How to fix or work around apparent bug in plotly's event_data(“plotly_hover”) when interrogating 3d surface plots
[英]Error in event_data(“plotly_hover”)? ( r plotly, shiny)
在一個Shiny應用程序中,我正在嘗試鏈接多個圖。 為此,我需要能夠使用event_data("plotly_hover")
類的東西檢索懸停數據。 雖然這對我來說有用,但今天由於某種原因,我遇到了一個我無法排除故障的問題。 當我將鼠標懸停在任何陰謀對象上並顯示懸停事件數據時,會在Shiny應用程序中返回此錯誤:
Warning: Error in cat: argument 1 (type 'list') cannot be handled by 'cat'
在過去,在一個情節對象上使用event_data(...)
對我來說效果很好,所以我對可能發生的事情感到頭疼。 這是一些自包含的示例代碼:
ui <- fluidPage(
plotlyOutput("singlePlot"),
verbatimTextOutput("hoverData")
)
server <- function(input, output, session) {
output$singlePlot <- renderPlotly({
p <- plot_ly(x = 1:10, y = 1:10, color = I("red"), marker = list(color = "blue"))
p
})
output$hoverData <- renderText(event_data("plotly_hover"))
}
shinyApp(ui = ui, server = server)
從理論上講,我應該看到這樣的事情:
curveNumber pointNumber x y
1 0 1 1 4
但我留下了上面的錯誤。 關於可能發生的事情的任何想法?
好的 - 我發現解決方案......有點傻,但使用renderPrint()
而不是renderText()
可以無縫工作。 哎呦! 謝謝。
我認為這是因為renderText
不知道如何處理dataframe
,因為名稱表明它呈現文本,沒有其他不符合“字符串”限定條件的東西可能會起作用。 將其包裝成as.character也可以解決您的問題。 renderText( as.character(event_data("plotly_hover")))
ui <- fluidPage(
plotlyOutput("singlePlot"),
verbatimTextOutput("hoverData")
)
server <- function(input, output, session) {
output$singlePlot <- renderPlotly({
p <- plot_ly(x = 1:10, y = 1:10, color = I("red"), marker = list(color = "blue"))
p
})
output$hoverData <- renderText( as.character(event_data("plotly_hover")))
}
shinyApp(ui = ui, server = server)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.