我试图使用R中的visIgraph函数绘制一个igraph对象,这个函数有一个参数布局,它接受一个字符串输入。但是,我想要一个具有特定根节点的layout_as_tree,就像在igraph上绘图时一样。
答案 0 :(得分:1)
你没有提供任何数据来绘图,所以我会把一棵简单的树作为插图。
library(igraph)
library(visNetwork)
## Basic tree
EL = matrix(c(1,2,1,3,2,4,2,5,3,6,3,7), byrow=TRUE, ncol=2)
Tree = graph_from_edgelist(EL)
有两种方法可以使用igraph
布局使用visIgraph
进行绘制。
visIgraph(igrap=Tree, layout="layout_as_tree", flip.y=FALSE, root=1)
额外的参数flip.y=FALSE, root=1
被传递给函数layout_as_tree
。
visIgraph
此版本允许您查看布局并根据需要进行调整。
LO = layout_as_tree(Tree, root =1, flip.y=FALSE)
visIgraph(Tree, layout='layout.norm', layoutMatrix=LO)
两个版本都会创建此图表。
当然,你只能在屏幕上显示这么多节点,但仍然可以看到发生了什么,但是在100个节点上,使用type="full"
得到了相当不错的结果。
T100 = make_tree(100)
LO = layout_as_tree(T100, root =1, flip.y=FALSE)
visIgraph(T100, type="full", layout='layout.norm', layoutMatrix=LO)