如果您从 R 中使用 igraph,请使用此选项
merge_coords {igraph} | R 文档 |
将多个图放置在同一布局上
merge_coords(graphs, layouts, method = "dla")
layout_components(graph, layout = layout_with_kk, ...)
graphs |
图对象列表。 |
layouts |
两列矩阵的列表。 |
method |
字符常量,用于指定使用的方法。目前只实现了 |
图 |
输入图。 |
layout |
一个函数对象,即要使用的布局函数。 |
... |
传递给 |
merge_coords
接受图的列表和坐标的列表,并将这些图放置在公共布局中。 使用的方法通过 method
参数选择,但目前只实现了 dla
方法。
dla
方法用圆覆盖图。 然后,它首先根据顶点数量对图进行排序,并将最大的图放置在布局的中心。 然后,其他图按递减顺序通过 DLA(扩散限制聚集)算法放置:该图随机放置在一个远离中心的圆上,并进行随机游走,直到该图走入已放置的较大图或走得离布局中心太远。
layout_components
函数首先将图分解为最大连通分量,并分别为每个分量调用提供的 layout
函数。 最后,它通过调用 merge_coords
合并布局。
一个矩阵,具有两列,并且行数与图中顶点的总数一样多。
Gabor Csardi csardi.gabor@gmail.com
plot.igraph
, tkplot
, layout
, disjoint_union
其他图布局: add_layout_()
, component_wise()
, layout_as_bipartite()
, 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_()
, norm_coords()
, normalize()
# create 20 scale-free graphs and place them in a common layout
graphs <- lapply(sample(5:20, 20, replace=TRUE),
barabasi.game, directed=FALSE)
layouts <- lapply(graphs, layout_with_kk)
lay <- merge_coords(graphs, layouts)
g <- disjoint_union(graphs)
## Not run: plot(g, layout=lay, vertex.size=3, labels=NA, edge.color="black")