R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

layout_as_bipartite {igraph}R 文档

用于二分图的简单两行布局

描述

在用于二分图的简单两行(或列)布局中最小化边交叉。

用法

layout_as_bipartite(graph, types = NULL, hgap = 1, vgap = 1, maxiter = 100)

as_bipartite(...)

参数

二分输入图。它应该具有逻辑“type”顶点属性,或者必须给出 types 参数。

types

一个逻辑向量,顶点类型。如果此参数为 NULL(默认值),则使用“type”顶点属性。

hgap

实数标量,同一层中顶点之间的最小水平间距。

vgap

实数标量,两层之间的距离。

maxiter

整数标量,交叉最小化阶段的最大迭代次数。100 是一个合理的默认值;如果您觉得边交叉太多,请增加此值。

...

传递给 layout_as_bipartite 的参数。

详细信息

布局的创建方法是,首先根据顶点类型将顶点放置在两行中。然后,使用 Sugiyama 算法(参见 layout_with_sugiyama)优化行内的位置,以最小化边交叉。

一个矩阵,包含两列,行数与输入图中的顶点数相同。

作者

Gabor Csardi csardi.gabor@gmail.com

参见

layout_with_sugiyama

其他图布局:add_layout_()component_wise()layout_as_star()layout_as_tree()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()

示例

# Random bipartite graph
inc <- matrix(sample(0:1, 50, replace = TRUE, prob=c(2,1)), 10, 5)
g <- graph_from_incidence_matrix(inc)
plot(g, layout = layout_as_bipartite,
     vertex.color=c("green","cyan")[V(g)$type+1])

# Two columns
g %>%
  add_layout_(as_bipartite()) %>%
  plot()

[包 igraph 版本 1.3.5 索引]