繁体   English   中英

event_data(“plotly_hover”)出错? (r情节,有光泽)

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM