簡體   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