绘图不显示

plotly graph doesn't show up

我正在使用 shiny,但无法显示绘图。以前出现过,不知道改了什么。

MRE:

global.r(或将其放入server.r)

library(shinydashboard)
library(plotly)

server.r

shinyServer(function(input, output, session) {

  output$plotlyGraph <- renderPlotly({
    input$regraph
    print("graphing...")
    return(plot_ly(list(blank = 0)))
  })

})

ui.r

    dashboardPage(
      dashboardHeader(title = "The Title"),
      dashboardSidebar(
        actionButton("regraph", "graph again")
      ),
      dashboardBody(
        box(plotlyOutput("plotlyGraph"))
      )
    )

R 版本 3.2.3

闪亮版本 13.0

shinydashbaord 0.5.1

plotly 2.0.16

空环境

我注意到当我 运行 上面的代码时,我得到一个错误 Error in gregexpr(calltext, singleline, fixed = TRUE) : regular expression is invalid UTF-8.

经过 debug(gregexpr) 的进一步调查,我看到了这个

Called from: inherits(x, "ggplot")
debugging in: gregexpr(calltext, singleline, fixed = TRUE)
debug: {
    if (!is.character(text)) 
        text <- as.character(text)
    .Internal(gregexpr(as.character(pattern), text, ignore.case, 
        perl, fixed, useBytes))
}
Browse[2]> text
[1] "function (x) inherits(x, \"ggplot\")"

不知道该怎么做。是否真的有一些幕后代码应该修改一个字符串,该字符串稍后被评估为一个函数?

我找到了另一个程序,其中绘图图呈现良好。 gregrexpr() 永远不会被调用。查看生成的 HTML,有问题的在 style

下有这个
width: 100%; height: 400px; visibility: hidden;

而可见的有

width: 100%; height: 400px; visibility: inherit;

所以我想这是相关的(虽然因果关系方向未知...)

renderPlotly({
return(plot_ly(x))
})

坏了。

renderPlotly(plot_ly(x)) 

有效。

要在渲染图之前做更多工作,请执行类似

的操作
renderPlotly(yourFunctThatGeneratesAPlotly(input$Whatever))