[英]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.