我试图代表每个步骤的算法输出,经过一番谷歌搜索发现我可以使用DiagrammeR包。我正在看这样的输出
上面的代码是这样的-
library('DiagrammeR')
grViz("
digraph boxes_and_circles {
# a 'graph' statement
graph [overlap = true, fontsize = 10]
# several 'node' statements
node [shape = box,
fontname = Helvetica]
A; B; C; D; E; F, G
# several 'edge' statements
A->C B->C C->D D->E E->F
F->G
}
")
只是我希望将标签A,B等替换为某些变量的值。在DiagrammeR中这可能吗?否则,有人可以建议其他套餐吗。谢谢
最佳答案
希望这可以使方法变得清晰,从本质上讲,我认为您应该动态构建传递给grViz()
的函数定义:
library(DiagrammeR)
n <- c("Alpha", "Bravo", "Charlie", "D", "E", "F", "G")
## Construct your node and edge statements dynamically:
nodes <- paste(n, collapse="; ")
## Insert parts of edge statements dynamically:
edges <- paste0(
n[1], "->", n[3], " ",
n[2], "->", n[3], " ",
n[3], "->D ",
"D->E ",
"E->F ",
"F->G "
)
## Plot graph:
grViz(
paste0(" digraph boxes_and_circles {
# a 'graph' statement
graph [overlap = true, fontsize = 10]
# several 'node' statements
node [shape = box,
fontname = Helvetica]
", nodes, "
# several 'edge' statements
", edges, "
}"
)
)
关于r - R DiagrammeR软件包-路径图的标签是动态的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33451753/