如果您从 R 中使用 igraph,请使用此选项
layout_as_tree {igraph} | R 文档 |
一种树状布局,非常适合树,对于循环不太多的图也可以接受。
layout_as_tree(
graph,
root = numeric(),
circular = FALSE,
rootlevel = numeric(),
mode = c("out", "in", "all"),
flip.y = TRUE
)
as_tree(...)
图 |
输入图。 |
root |
根顶点或根顶点的索引。如果这是一个非空向量,那么提供的顶点 ID 将被用作树的根(或者如果图是连通的,则是一棵树)。如果它是一个空向量,那么根顶点将基于拓扑排序自动计算,拓扑排序执行的模式与 |
circular |
逻辑标量,是否以圆形方式绘制树。默认为 |
rootlevel |
当绘制不是树的森林(即它们是不连通的并且具有树组件)时,此参数可能很有用。它指定森林中每棵树的根顶点的级别。只有在 |
模式 |
指定在构建树时要考虑哪些边。 如果是 “out”,则仅考虑父节点的传出边;如果是 “in”,则仅考虑传入边。 如果是 “all”,则使用所有边(这是 igraph 0.5 及更早版本中的行为)。 如果未给出根顶点,则此参数还会影响根顶点的计算方式。 请参见 |
flip.y |
逻辑标量,是否翻转“y”坐标。 默认值为翻转,因为这会将根顶点放在顶部。 |
... |
传递给 |
将节点排列在一棵树中,其中给定的节点用作根。 树向下定向,父节点位于其子节点的中心上方。 有关确切的算法,请参见下面的参考。
如果给定的图不是树,则首先执行广度优先搜索以获得可能的生成树。
一个具有两列的数字矩阵,每个顶点对应一行。
Tamas Nepusz ntamas@gmail.com 和 Gabor Csardi csardi.gabor@gmail.com
Reingold, E 和 Tilford, J (1981). Tidier drawing of trees. IEEE Trans. on Softw. Eng., SE-7(2):223–228.
其他图布局: add_layout_()
, component_wise()
, layout_as_bipartite()
, layout_as_star()
, layout_in_circle()
, layout_nicely()
, layout_on_grid()
, layout_on_sphere()
, layout_randomly()
, layout_with_dh()
, layout_with_fr()
, layout_with_gem()
, layout_with_graphopt()
, layout_with_kk()
, layout_with_lgl()
, layout_with_mds()
, layout_with_sugiyama()
, layout_()
, merge_coords()
, norm_coords()
, normalize()
tree <- make_tree(20, 3)
plot(tree, layout=layout_as_tree)
plot(tree, layout=layout_as_tree(tree, flip.y=FALSE))
plot(tree, layout=layout_as_tree(tree, circular=TRUE))
tree2 <- make_tree(10, 3) + make_tree(10, 2)
plot(tree2, layout=layout_as_tree)
plot(tree2, layout=layout_as_tree(tree2, root=c(1,11),
rootlevel=c(2,1)))