我正在尝试使用 R 中的 visIgraph 函数绘制一个 igraph 对象,该函数有一个参数布局,它接受一个字符串输入。但是,我想要一个具有特定根节点的 layout_as_tree,例如在 igraph 上绘图时如何实现。
问问题
814 次
1 回答
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
.
1 传入要使用的布局函数
visIgraph(igrap=Tree, layout="layout_as_tree", flip.y=FALSE, root=1)
额外的参数flip.y=FALSE, root=1
被传递给函数layout_as_tree
。
2 首先创建布局并将布局矩阵传递给visIgraph
此版本允许您查看布局并根据需要进行调整。
LO = layout_as_tree(Tree, root =1, flip.y=FALSE)
visIgraph(Tree, layout='layout.norm', layoutMatrix=LO)
两个版本都创建了这个图。
编辑 - 回应对 100 个节点的评论
当然,你只能在屏幕上显示这么多节点,仍然可以看到发生了什么,但是在 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)
于 2018-02-06T14:11:51.770 回答