到目前为止,我一直很喜欢在DiagrammeR
中使用和创建图形。我能够在 RStudio 中创建它们。最近,我正在准备一个闪亮的应用程序,以包含使用DiagrammeR
(grViz
函数(的图形,我检查了github并找到了如何做同样的事情的示例(见这里(。
但是我一直在尝试,但无法在 Shiny 应用程序中获得输出。 请找到我正在尝试的以下代码(app.R
(:
library(DiagrammeR)
library(shiny)
diagram <- "
digraph {
# graph attributes
graph [overlap = true]
# node attributes
node [shape = box,
fontname = Helvetica,
color = blue]
# edge attributes
edge [color = gray]
# node statements
A; B; C; D; E
F [color = black]
# node attributes
node [shape = circle,
fixedsize = true,
width = 0.9]
# node statements
1; 2; 3; 4; 5; 6; 7; 8
# edge statements
A->1; B->2 // gray
B->3 [color = red] // red
B->4 // gray
C->A [color = green] // green
1->D; E->A; 2->4; 1->5; 1->F // gray
E->6; 4->6; 5->7; 6->7 // gray
3->8 [color = blue] // blue
}
"
# Shiny app
server <- function(input, output) {
output$diagram <- renderGrViz({
grViz({
diagram
})
})
}
ui <- fluidPage(
grVizOutput('diagram', width = "100%", height = "760px")
)
shinyApp(ui = ui, server = server)
我使用的是R版本3.6.0,闪亮的版本1.4.0,DiagrammeR版本1.0.5在Rstudio版本1.2.1335中的Windows 10。在执行上述代码时,我总是收到以下错误,并且 Shiny 应用程序无法打开。
> runApp()
Listening on http://127.0.0.1:4391
Warning: Error in htmlwidgets::shinyRenderWidget: unused argument (evn = env)
50: renderGrViz
49: server [C:UsersHomeUserDocumentsRWorkSpaceSampleApp/app.R#46]
Error in htmlwidgets::shinyRenderWidget(expr = expr, outputFunction = grVizOutput, :
unused argument (evn = env)
任何人都可以指导上面的代码有什么问题吗?
我收到了与您相同的错误消息,但是当我将 DiagrammeR 包降级到 1.0.1 时,一切正常。
library(devtools)
install_version("DiagrammeR", version = "1.0.1", repos = "http://cran.us.r-project.org")