如果您从 R 中使用 igraph,请使用此选项
layout_as_bipartite {igraph} | R 文档 |
在用于二分图的简单两行(或列)布局中最小化边交叉。
layout_as_bipartite(graph, types = NULL, hgap = 1, vgap = 1, maxiter = 100)
as_bipartite(...)
图 |
二分输入图。它应该具有逻辑“ |
types |
一个逻辑向量,顶点类型。如果此参数为 |
hgap |
实数标量,同一层中顶点之间的最小水平间距。 |
vgap |
实数标量,两层之间的距离。 |
maxiter |
整数标量,交叉最小化阶段的最大迭代次数。100 是一个合理的默认值;如果您觉得边交叉太多,请增加此值。 |
... |
传递给 |
布局的创建方法是,首先根据顶点类型将顶点放置在两行中。然后,使用 Sugiyama 算法(参见 layout_with_sugiyama
)优化行内的位置,以最小化边交叉。
一个矩阵,包含两列,行数与输入图中的顶点数相同。
Gabor Csardi csardi.gabor@gmail.com
其他图布局: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()